单链表的创建及显示
来源:互联网 发布:买网络电视要注意什么 编辑:程序博客网 时间:2024/06/03 20:37
Description
为足球队员建立记录,要有姓名、身高、年龄、所属俱乐部。请创建一个单链表存储并输出。注意:两种实现方式,头插法创建及尾插法创建。单链表结构体结点如下:
struct FootballPlayer
{
char name[20];
int height;
int age;
char club[20];
FootballPlayer *next;
};
参考函数如下:
void CreateFromHead(FootballPlayer*&f);
void CreateFromTail(FootballPlayer*&f);
void Show(FootballPlayer *f);
主函数如下,请勿修改。
int main()
{
int n,i;
FootballPlayer *head;
head=NULL;
n=6;
for(i=0;i<n;i++)
CreateFromHead(head);
Show(head);
head=NULL;
for(i=0;i<n;i++)
CreateFromTail(head);
Show(head);
return 0;
}
{
int n,i;
FootballPlayer *head;
head=NULL;
n=6;
for(i=0;i<n;i++)
CreateFromHead(head);
Show(head);
head=NULL;
for(i=0;i<n;i++)
CreateFromTail(head);
Show(head);
return 0;
}
Input
足球队员的记录。
Output
头插法和尾插法创建单链表,从前向后的遍历记录。
Sample Input
zhao 182 22 Redqian 190 24 Greensun 179 23 Blueli 188 26 Redzhou 174 25 Bluewu 180 22 Greenzhao 182 22 Redqian 190 24 Greensun 179 23 Blueli 188 26 Redzhou 174 25 Bluewu 180 22 Green
Sample Output
wu 180 22 Greenzhou 174 25 Blueli 188 26 Redsun 179 23 Blueqian 190 24 Greenzhao 182 22 Redzhao 182 22 Redqian 190 24 Greensun 179 23 Blueli 188 26 Redzhou 174 25 Bluewu 180 22 Green
具体见代码
#include<iostream>#include<stdlib.h>#include<string.h>using namespace std;struct FootballPlayer{ char name[20]; int height; int age; char club[20]; FootballPlayer *next;};void CreateFromHead(FootballPlayer *&f) //头插法{ FootballPlayer *p; p=(FootballPlayer*)malloc(sizeof(FootballPlayer)); cin>>p->name; cin>>p->height; cin>>p->age; cin>>p->club; p->next=f; //插到头部 所以最后输出的时候应该是反序输出的 f=p; //f的地址一直指向头的位置}void CreateFromTail(FootballPlayer *&f){ int i=0; FootballPlayer *pr,*p; pr=(FootballPlayer*)malloc(sizeof(FootballPlayer)); cin>>pr->name; cin>>pr->height; cin>>pr->age; cin>>pr->club; if(f==NULL) { f=pr; //保护头地址 保证f指向头地址 } else { p->next=pr; //尾插 } p=pr; //保证P一直指向链表的最后一项}void Show(FootballPlayer *f){ while(f!=NULL) { cout<<f->name<<" " <<f->height<<" " <<f->age<<" " <<f->club <<endl; f=f->next; } cout<<endl;}int main(){ int n,i; FootballPlayer *head; head=NULL; n=6; for(i=0;i<n;i++) CreateFromHead(head); Show(head); head=NULL; for(i=0;i<n;i++) CreateFromTail(head); Show(head); return 0;}
0 0
- 单链表的创建及显示
- 非模态对话框的创建及显示
- MFC非模态对话框的创建及显示
- PowerDesigner的创建使用及如何设置显示注释信息
- Android-数据库Sqlite的创建,查询及在ListView显示
- 单链表的创建及输出
- 单链表的创建及操作
- 单链表的创建及操作
- 单链表的创建,删除,插入,显示,排序
- XML创建及中文显示问题
- c#动态创建自定义的控件及显示控件查找控件
- Quartz 2D编程指南(13) - PDF文档的创建、显示及转换
- Quartz 2D编程指南(13) - PDF文档的创建、显示及转换
- Quartz 2D编程指南(13) - PDF文档的创建、显示及转换
- Quartz 2D编程指南(13) - PDF文档的创建、显示及转换
- c++图书编号与价格 链表的创建及显示
- Quartz 2D编程指南(13) - PDF文档的创建、显示及转换
- Quartz 2D编程指南(13) - PDF文档的创建、显示及转换
- 4.17学习流水账——GTSRB函数TrainTrafficSigns
- 【Fltk】Fltk1.3.3+VS2015 编程
- 机器学习笔记(1)-线性回归
- c++自动比较数字大小函数
- 基于django的轻量级CMS Mezzanine搭建笔记
- 单链表的创建及显示
- 如何定位消耗CPU最多的线程
- Spark+Intellij 舒服的源码开发环境配置
- 淘宝装修数据
- Java集合详解
- AT89S52单片机学习第一天
- Java幂等
- 最长上升子序列
- Linux 查看端口占用