单向链表的创建 输入 输出
来源:互联网 发布:mac什么游戏好玩 编辑:程序博客网 时间:2024/05/17 23:37
//问题描述:创建一个单链表,输入,并输出链表值。#include<iostream>#include<cmath>using namespace std;#define NULL 0#define LEN sizeof(struct student)struct student{ long num; float score; struct student *next;};struct student*creat()//建立链表结构指针函数定义{ struct student *head,*p1,*p2; int n=0; p1=p2=(struct student*)malloc(LEN);//开辟动态储存空间,并将其地址赋给p1,p2 cin>>p1->num;cin>>p1->score;//往p1指向的空间结点填装数据 head=NULL;//头指针为空 while(p1->num!=0) { n=n+1;//以此来判断是第几个结点 if(n==1) head=p1; else p2->next=p1; //将p1的值赋给p2->next,使p2->next指向p1所指的结点,此时p2还在前一个结点 p2=p1; //将p1的值赋给p2,移动指针p2,使p2指向p1所指的结点 p1=(struct student*)malloc(LEN); //继续开辟空间,将其地址赋给p1 cin>>p1->num;cin>>p1->score;//往新开辟的结点填装数据 } p2->next=NULL;//将最后一个结点的指针域制空 return(head);//返回头指针}void print(student *head){while(head){cout<<head->num<<" "<<head->score<<" ";head=head->next;}}void main(){student *stu=creat();print(stu);}
#include<iostream>#include<cmath>using namespace std;struct student{ int num; char name[15]; struct student *next;};int main(){ struct student a={1,"lihua"},b={2,"zhangjie"},c={3,"cuisun"}; struct student *head,*p; head=&a; a.next=&b; b.next=&c; c.next=NULL; for(p=head;p!=NULL;p=p->next)cout<<p->num<<" "<<p->name<<" ";cout<<endl; return 0;}
0 0
- 单向链表的创建 输入 输出
- 单向动态链表的创建、输入、插入、删除、输出
- 单向动态链表的创建、输入、插入、删除、输出
- 单向循环链表的创建/插入/删除/输出算法
- 单向链表的创建
- 创建一个简单的单向链表并将其倒序输出
- C语言中,链表的创建、输入、输出、链接。
- 创建单向链表
- 单向链表创建
- 创建单向链表
- 单向链表-创建
- 微软面试之13 输入一个单向链表 输出该链表的倒数第k个节点
- 动态单向链表的创建
- 单向链表的创建及翻转
- 单向链表的创建 删除 插入
- 单向带环链表的创建
- 单向链表的创建与打印
- 单向链表的创建和遍历
- QT 继承自QGraphicsItem
- 自己经常浏览的一些牛人博客
- HDU 2149 Public Sale (博弈论经典)
- 使用codeReview工具时,消除一些空格格式错误警告的eclipse相关配置
- leetcode: Pow(x, n)
- 单向链表的创建 输入 输出
- 编程题目: PAT 1001. 害死人不偿命的(3n+1)猜想 (15)
- android开发笔记之有用软件列表
- 配置OpenCV产生flann\logger.h(66): error C4996: 'fopen': This function or variable may be unsafe问题
- 编程题目:PAT 1002. 写出这个数 (20)
- ubuntu 12.04配置双屏幕教程
- HDU-3954-Level up
- 自定义ListView 学习笔记
- 编程题目:PAT 1004. 成绩排名 (20)