#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
struct Node{
int data;//数据域
struct Node *pNext;//指针域
}Node,*PNode;
int main()
{
PNode Phead = NULL;
Phead = create_list();//插入一个非循环单链表,并将该链表的头结点赋给Phead
Traverse_list();
return 0;
}
PNode Create_list(void){
int len;
int i;
PNode pHead = (PNode)malloc(sizeof(Node));
if(pHead==NULL){
printf("分配失败,程序终止!\n");
exit(-1);
}
pTail->pNext = NULL;
printf("请输入您需要生成链表结点的个数:len = ");
scanf("%d",&len);
for(i=0;i<len;i++){
printf("请输入第%d个节点的值:%d",i+1);
int val;
scanf("%d",&val);
PNode PNew = (PNode)malloc(sizeof(Node));
if(PNew == NULL){
printf("分配失败,程序终止!\n");
exit(-1);
}
PNew->data = val;
//PHead->PNext = PNew;
//PNew->PNext = NULL;
pTail->pNext = PNew;
PNew->pNext = NULL;
pTail = PNew;
}
return Phead;
}
void Traverse_list(PNode head){
PNode p = pHead->pNext;
while(p != NULL){
printf("%d ",p->data);
p = p->Next;
}
printf("\n");
}
链表的创建和遍历
最新推荐文章于 2024-03-09 20:01:04 发布