//尾插法实现单链表
#include <stdio.h>
#include<stdlib.h>
typedef int Elemtype;
typedef struct Lnode{
Elemtype data;
struct Lnode *next;
}Lnode,*LinkList;
void list_link_insert(LinkList &L){
Elemtype e;
Lnode* s;//申请插入的节点
Lnode* p;
Lnode* L1;
L = (LinkList)malloc(sizeof(Lnode));//头指针
L1 = L;//将头指针保存再L1中,方便后续将将L放回头指针的位置
L -> next = NULL;
scanf("%d",&e);
while(e != 9999){
s = (LinkList)malloc(sizeof(Lnode));
p = L;//保存最后一个元素的位置
L = L -> next;//头指针依次后移,寻找为NULL的位置
if (L != NULL) {//如果不为null说明还没有到达最后一个元素的位置,不能进行尾插,知道移动到null时进行赋值即可
continue;//跳出循环后,继续移动
}
s -> data = e;
p -> next = s;
s -> next = NULL;
L = L1;//恢复头指针的位置
scanf("%d",&e);
}
}
void print_list(LinkList L){
L = L -> next;
while(L){
printf("%4d",L -> data);
L = L -> next;
}
}
int main(){
LinkList L;
list_link_insert(L);
print_list(L);
return 0;
}
尾插法实现单链表
最新推荐文章于 2024-07-15 13:32:43 发布