单链表建立c++实现
来源:互联网 发布:小米4支持4g网络吗 编辑:程序博客网 时间:2024/05/19 17:59
学C++,第一编写链表程序。
首先是链表节点的建立,分为指针域和数据域,程序建立如下:
typedef struct Data{string name;int age;};typedef struct list{Data data;struct list *next;};
这里定义了链表的数据域为结构体数据,包含姓名和年龄。指针域包含指向下一个节点的指针next。
输入节点数据,创建链表。程序如下:
list *creatList(list *head,Data data){list *node,*temp;node=new list; //给新节点开辟内存 node->data=data; //节点赋值并指向NULL,作为末节点 node->next=NULL;if(head == NULL) //当链表是空表的时候 { head = node; return head; } temp=head;while(temp->next!=NULL) //指向尾节点,并在尾节点添加一节点node {temp=temp->next;}temp->next=node;return head; }创建后,对链表进行顺序显示,程序代码如下:
int lenList(list *head)// 链表的测长 {int n=0;list *p;p=head;while(p!=NULL){p=p->next;n++;}return (n);}void display(list *head)//链表的显示 {list *temp;Data data;int n;temp=head;cout<<"链表的长度为:";n=lenList(head); cout<<n<<endl;while(temp) //链表内容的显示 {data=temp->data;cout<<data.name<<" "<<data.age<<endl;temp=temp->next;}}显示时,先对链表遍历测试其长度。
主函数如下:
int main(){list *node,*head=NULL;Data data;int k;string name;int age; cout<<"输入数据,名字,年龄:(以输入年龄0表示结束)"<<endl; while(1) {cin>>data.name>>data.age;if(data.age==0)break;head=creatList(head,data);//这里注意一定要返回头结点}display(head);}运行结果如下:
0 0
- 单链表的建立 C语言实现
- 尾插法建立单链表 c
- 头插法建立单链表 c
- 单链表建立c++实现
- c语言-单链表的建立
- c语言之建立单链表
- C语言单链表的建立,查找,添加,删除,修改功能实现
- c语言实现单链表建立,插入,删除,查找,循环链表,静态链表
- 单链表的建立(C语言):头插法和尾插法建立单链表
- C/C++,数据结构实现两个链表的合并(尾插法建立单链表,求链表长度,直接插入排序)
- 递归实现二叉树的建立及前中后序遍历 c
- C语言中如何实现建立和写入文本文档
- 图的邻接矩阵的建立(C语言实现)
- 递归实现Avl树的删除、建立(C++)
- 头插法建立单向链表 C语言实现
- 尾插法建立单向链表 C语言实现
- 有序插入建立链表 C语言实现
- C实现二叉树的建立和遍历
- python自然语言处理-学习笔记(二)
- SecureCRT中的Ctrl+C不可用
- mysql查看表结构 乐杨俊
- web开发利用filter拦截未登录用户
- 外贸网站优化实用的五种方法
- 单链表建立c++实现
- [笔记]VS2010 LNK1123: 转换到 COFF 期间失败: 文件无效或损坏 的解决方法
- Java老学员重回广州传智,大方传授面试经验
- 我在博看文思学习生活
- 编译libcurl
- andriodpn整合改进源码
- linux C++ 读写文件
- 第二次试验--算法基本功和综合思考
- 软件测试策略之确认测试(Validation Testing)和系统测试(System Testing)