Problem D: 逆置链式链表(线性表)

Posted 青衫客36

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Problem D: 逆置链式链表(线性表)相关的知识,希望对你有一定的参考价值。

Problem D: 逆置链式链表(线性表)

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 594  Solved: 346
[Submit][Status][Web Board]

Description

本题只需要提交填写部分的代码
(线性表)试编写算法将线性表就地逆置,以链式存储结构实现。
代码:
#include <stdio.h>
#include <malloc.h>
struct Num
{
    int n;
    struct Num *next;
}num;
struct Num *createlist(struct Num *head);
void print(struct Num *head);
void destroy(struct Num *head);
void destroy(struct Num *head)
{
 struct Num *p;
 while(head!=NULL)
 {
  p=head->next;
  delete(head);
  head=p;
 }
}

int main()
{
    struct Num *head=NULL;
    head=createlist(head);       //建立
    print(head);//输出
 destroy(head);
    return 0;
}
struct Num *createlist(struct Num *head)                //头插法建立链表
{
    struct Num *p;
    p=head=(struct Num*)malloc(sizeof(struct Num));
    head=NULL;                                    
    p=(struct Num*)malloc(sizeof(struct Num));            //p建立新结点
    while(scanf("%d",&p->n)!=EOF)                      //将新结点插到开头的位置
    {
        /***************/
            添加代码
        /*****************/
        p=(struct Num*)malloc(sizeof(struct Num));         //p每次建立新结点
    }
    return head;
}
void print(struct Num *head)
{
    struct Num *current=head;
    while(current!=NULL)
    {
        printf("%d ",current->n);
        current=current->next;
    }
}

Input

1 2 3 4 5 6 7 8 9

Output

9 8 7 6 5 4 3 2 1

Sample Input

10 23 56 89 11

Sample Output

11 89 56 23 10 
        p->next=head;
        head=p;

  

 

以上是关于Problem D: 逆置链式链表(线性表)的主要内容,如果未能解决你的问题,请参考以下文章

线性表中的顺序存储与链式存储

C语言基础知识中:线性表的顺序、链式存储结构分别是:随机存取和顺序存取结构对吗?

第02次作业-线性表

线性表---链式存储(双向链表)

线性表---链式存储(双向链表)

线性表的链式存储结构 ( 链表 )