单链表的程序实现
2015-11-16 20:29
351 查看
#include<stdio.h> //#include<malloc.h> #include<stdlib.h> typedef struct Node { int data; struct Node * pnext; }NODE, * PNODE; PNODE create_list() { PNODE phead=(PNODE)malloc(sizeof(NODE)); if(phead==NULL) { printf("内存分配失败,程序终止。\n"); exit(-1); } int val,len,i; printf("请输入您要建立的链表的长度:"); scanf("%d",&len); PNODE ptail; ptail=phead; for(i=0;i<len;i++) { PNODE pnew=(PNODE)malloc(sizeof(NODE)); if(pnew==NULL) { printf("内存分配失败,程序终止。\n"); exit(-1); } printf("请输入第%d个节点的值:",i+1); scanf("%d",&val); pnew->data =val; ptail->pnext =pnew; pnew->pnext =NULL; ptail=pnew; } return phead; } int length(PNODE phead) { PNODE p=phead->pnext; int n=0; while(p) { n++; p=p->pnext; } return n; } void traverse_list(PNODE phead,int len) { int i; PNODE p=phead->pnext; for(i=0;i<len;i++) { printf("%d ",p->data); p=p->pnext ; } printf("\n"); } int main(void) { PNODE phead; int len; phead=create_list(); len=length(phead); printf("链表的长度是%d\n",len); traverse_list(phead,len); return 0; }
相关文章推荐
- 配置eclipse开发floodlight环境
- 图像复原
- Android打包安装过程
- 发声控制
- bootstrap学习1
- salt-master IPC文件的一次报错
- ubuntu 14.04 安装mysql
- win7系统瘦身方法,C盘瘦身方法
- FZU-Problem 2191 完美的数字
- iOS本地通知和远程通知
- 16.UISwitch(开/关视图)
- C++编程规范---读书有感(1)
- swift学习笔记->函数
- 如何接入学历查询接口(附代码)
- Django卸载重新安装
- Cocos2D:塔防游戏制作之旅(一)
- Move Zeroes
- Cocos2D:塔防游戏制作之旅(一)
- Cocos2D:塔防游戏制作之旅(一)
- Unity Android 加密 so