使用c语言实现单链表是考研的重点。但是如何实现却是一个难点。下面是我写的一个简单的创建单链表的代码。
#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
typedef struct node{
int data;
struct node *next;
}LinkList; //结构体的定义
LinkList *create_Link(){ //创建单链表的主要代码(尾插法建立单链表)
LinkList *head = NULL;
LinkList *temp = NULL;
LinkList *tail = NULL;
head = (LinkList *)malloc(sizeof(LinkList));
head->next = NULL;
int x;
scanf("%d",&x);
while(x!=-1){ //循环停止条件,可以按照自己要求更改
temp = (LinkList*)malloc(sizeof(LinkList));
temp->data=x;
temp->next=NULL;
if(head->next==NULL){
head->next=temp;
}else{
tail->next=temp;
}
tail=temp;
scanf("%d",&x);
}
return head;
}
void print_Link(LinkList *L){ //打印出单链表
L = L->next;
while(L!=NULL){
printf("%d ",L->data);
L=L->next;
}
}
int main(){ //主函数
LinkList *L = create_Link();
print_Link(L);
return 0;
}
实验结果截图:
更多推荐
c语言实现单链表的创建(完整版)
发布评论