说在前面
链表的创建以及实现方式千奇百怪,比如第一个结点是否储存数据,尾插还是头插,在循环的时候是while(p)起手还是while(p->Next!=NULL)进行遍历,以及如何定义链表结点的下标,第一个有效结点的下标应该规定为1还是0,这样的规定五花八门,依照个人的习惯以及业务的需求来,但如果一个链表如果没有说明白这些事情,在我看来无异于耍流氓........
代码以及实现
0.宏定义以及注释
1.结构体
2.链表初始化
3.链表打印
4.尾插
5.尾删
6.选定位置进行尾插
7.返回指定元素的下标
8.返回指定下标的元素
9.main函数
/*创建空链表*/
LinkList My_List;
My_List = InitLinkList();
/*打印空链表*/
PrintLinkList(My_List);
/*增加元素*/
AppendElement(My_List, 5);
AppendElement(My_List, 4);
AppendElement(My_List, 3);
AppendElement(My_List, 2);
AppendElement(My_List, 1);
/*打印*/
printf("First:");
PrintLinkList(My_List);
/*尾删*/
DeleteElement(My_List);
/*打印*/
printf("Second:");
PrintLinkList(My_List);
/*选定位置进行插入*/
insertElement(My_List, 100, 1);
/*打印*/
printf("Thrid:");
PrintLinkList(My_List);
/*返回指定元素的下标*/
int OUT;
int Test_Elem = 4;
FromElementToSubscripta(My_List, Test_Elem, &OUT);
printf("元素%d的下标是%d\n", Test_Elem, OUT);
/*返回指定下标的元素*/
int Position = 1;
FromSubscriptaToElement(My_List, Position, &OUT);
printf("下标%d的元素是%d\n", Position, OUT);
return 0;