#include<stdio.h>
#include<stdlib.h>
typedef struct Node{
int data;
struct Node* next;
}Node;
typedef struct Node* list;
bool createlist_tail(list &L);
int main(){
list L;
createlist_tail(L);
}
bool createlist_tail(list &L){ //尾插法创建带头结点的链表
L=(list)malloc(sizeof(Node));
L->next=NULL; //初始化链表
Node* s,*r;//S和r都指向尾结点
int data=0;
s=r=L;
scanf("%d",&data);
while(data!=888){
s=(Node*)malloc(sizeof(Node)); //s指向新申请的节点p
s->next=r->next; //让新节点next指向尾结点的next
s->data=data;
r->next=s; //原来的尾部节点的next指向新的尾部节点
r=s; //r也指向最后一个节点
scanf("%d",&data);//将scanf放到循环尾部,当输入数据不合法便直接跳出,不会再插入节点。
}
}
bool createlist_
单向链表的头插法和尾插发建立链表
最新推荐文章于 2023-03-26 20:15:17 发布