单向链表的创建与遍历
2017-09-20 18:25
253 查看
#include <iostream> using namespace std; class list { public: int num,score; char name[10]; class list *next; }; typedef class list node; typedef node *link; int main() { link newnode,ptr,delptr; //声明三个链表结构的指针 cout<<"请输入 5 位学生的数据:"<<endl; delptr=new node; //delptr暂当链表头指针 if (!delptr) { cout<<"[Error!!内存分配失败!]"<<endl; exit(1); } cout<<"请输入座号:"; cin>>delptr->num; cout<<"请输入姓名:"; cin>>delptr->name; cout<<"请输入成绩:"; cin>>delptr->score; ptr=delptr; //保留链表头指针,以ptr为指向当前节点的指针 for (int i=1;i<5;i++) { newnode=new node; //创建新节点 if(!newnode) { cout<<"[Error!!内存分配失败!"<<endl; exit(1); } cout<<"请输入座号:"; cin>>newnode->num; cout<<"请输入姓名:"; cin>>newnode->name; cout<<"请输入成绩:"; cin>>newnode->score; newnode->next=NULL; ptr->next=newnode; //把新节点加在链表后面 ptr=ptr->next; //让ptr保持在链表的最后面 } cout<<"\n 学 生 成 绩"<<endl; cout<<" 座号\t姓名\t成绩\n====================="<<endl; ptr=delptr; //让ptr回到链表头 while(ptr!=NULL) { cout<<ptr->num<<"\t"<<ptr->name<<"\t"<<ptr->score<<endl; delptr=ptr; ptr=ptr->next; //ptr按序往后遍历整个链表 delete delptr; //释放内存空间 } system("pause"); }
相关文章推荐
- 单向链表的创建、遍历、求长、判存、判空、插入、删除、查找(按位置或元素)、合并
- 两种方法实现单向链表的创建、遍历、删除、查找、逆序输出(循环法和递归法)
- 单向链表的创建和遍历
- 单向链表创建与遍历
- 单向循环链表创建、遍历、插入、删除、查找(按位置,按元素值)、清空、销毁
- 单向链表的相关操作(创建,遍历,插入,删除,逆置)
- C语言 单向链表的创建、遍历、排序、删除操作
- 单向链表的相关操作总结:创建、删除、查找、排序、统计链表大小、链表的反转和遍历等
- java实现单向链表--创建、遍历
- 单向链表(一) 节点结构体、创建链表、释放链表、遍历链表
- 单向链表的创建和遍历
- 单向链表的创建与遍历(先进先出和先进后出)
- 程序员面试100题(算法)之查找链表中倒数第k个节点(含单向链表的创建和打印)
- 创建单向动态链表、插入链表、删除链表
- 单向链表的添加、删除与遍历
- 重新认识链表(单向链表并遍历)
- 头插法和尾插法创建、删除、遍历单链表
- 重新认识链表(单向链表并遍历)
- 链表的常用算法(创建,判空,遍历…
- 创建单向链表