正序逆序生成单链表

Posted

tags:

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

  1. typedef struct LNode{  
  2.     int key;  
  3.     struct LNode *next;  
  4. }LNode,*List;  
  5.   
  6. //正序生成单链表  
  7. void CreateList1(List &L,int n){  
  8.     L=(List)malloc(sizeof(LNode));  
  9.     L->next=NULL;  
  10.     LNode *q=L;  
  11.     for(int i=1;i<=n;i++)  
  12.     {  
  13.         LNode *p=(LNode *)malloc(sizeof(LNode));  
  14.         scanf("%d",&p->key);  
  15.         q->next=p;  
  16.         q=p;  
  17.         p->next=NULL;  
  18.     }  
  19.     return;  
  20. }  
  21. //逆序生成单链表  
  22. void CreateList2(List &L,int n){  
  23.     L=(LNode *)malloc(sizeof(LNode));  
  24.     L->next=NULL;  
  25.     for(int i=0;i<n;i++)  
  26.     {  
  27.         LNode *p=(LNode *)malloc(sizeof(LNode));  
  28.         scanf("%d",&p->key);  
  29.         p->next=L->next;  
  30.         L->next=p;  
  31.     }  
  32.     return;  
  33. }  

以上是关于正序逆序生成单链表的主要内容,如果未能解决你的问题,请参考以下文章

算法总结之 两个单链表生成相加的链表

链表实现单链表的逆序

数据结构实验之链表二:逆序建立链表

算法-----单链表逆序

算法与数据结构单链表的增删改查逆序打印与输出合并有序链表

单链表的逆序 (采用头插法实现)