头插入法建立单链表描述:输入链表中各个结点中的值,然后利用头插入法整合成单循环链表进行输出

1 题目

功能:头插入法建立单链表描述:输入链表中各个结点中的值,然后利用头插入法整合成单循环链表进行输出

2 思路

头插法的基本思路是:  a. 首先创将一个空的单链表  b. 生成新的结点插入到头部,然后一直循环直到所有的元素结点都插入到链表中最后,由于是循环向头部插入,那么导致的一个现象就是,从头部开始遍历的时候,一定与形成时元素结点相反

3 代码

#include

#include

/**

功能:头插入法建立单链表

描述:输入链表中各个结点中的值,然后利用头插入法整合成单循环链表进行输出

**/

typedefstructNode{

charnum;

structNode*next;

}LNode,*LinkList;

LinkListcreate(void) {

LinkListhead;

LNode*p1;

chara;

head=NULL;

printf("请输入链表元素(字符采集,不需要分隔符):\n");

a=getchar();

while(a!='\n') {

p1=(LinkList)malloc(sizeof(LNode));    // 分配空间

p1->num=a;              // 数据域赋值

p1->next=head;

head=p1;

a=getchar();

   }

returnhead;                  // 返回头结点

}

intmain(intargc,charconst*argv[]) {

LinkListL1;

L1=create();

printf("这个链表是:\n");

while(L1) {

printf("%c ",L1->num);

L1=L1->next;

   }

  printf("\n");

}

示例结果:

$ gccex070.c-odemo

$ ./demo

请输入链表元素(字符采集,不需要分隔符):

apple

这个链表是:

e l p p a

你可能感兴趣的:(头插入法建立单链表描述:输入链表中各个结点中的值,然后利用头插入法整合成单循环链表进行输出)