链表的一个小程序

来源:互联网 发布:雷欧奥特曼mac队 编辑:程序博客网 时间:2024/05/18 02:41

链表是c语言中比较难掌握的一个知识点,不要只是看看程序就觉得懂了,如果不进行实践,其实很难发现其中所存在的盲点。所以,在学数据结构的时候,即使比较难,也要静下心来将程序自己敲出来。切忌眼高手低。



通过链表管理图书的程序,只是进行简单的输入和输出,并没有进行插入和删除。性对来说比较简单。下面是我的链表的程序。

#include<stdio.h>#include<malloc.h>#include<stdlib.h>typedef struct node{int num;float price;struct node *pNext;}Node,*pNode;void traverse(pNode );pNode creat_list(void); int main(){pNode pHead =NULL;pHead = creat_list(); traverse(pHead);return 0;}pNode creat_list(void){pNode pHead = (pNode)malloc(sizeof(Node));if(pHead == NULL){printf("节点分配失败\n");exit(-1); }pNode pTail = pHead;pTail->pNext = NULL;int i = 0;int number;    float  Price; int len;printf("请输入创建的图书个数\n");scanf("%d",&len);pNode pNew = NULL;for(i = 0;i <len;i++ ) {pNew = (pNode)malloc (sizeof(Node));if(pNew == NULL){printf("节点分配失败\n");exit(-1); }printf("请输入图书的编号\n");scanf("%d",&number);pNew->num = number;printf("请输入图书的价格\n"); scanf("%f",&Price); pNew->price = Price; pTail->pNext = pNew;pNew-> pNext = NULL;pTail = pNew;  } return pHead;}void traverse(pNode pHead){pNode p = pHead->pNext;while(p != NULL){printf("图书的编号: %d\n",p->num);printf("图书的价格: %3.1f\n",p->price);p = p->pNext;}printf("\n");}


程序执行的结果是:




原创粉丝点击