简单链表操作
来源:互联网 发布:mac word转pdf 白边 编辑:程序博客网 时间:2024/06/05 00:50
新建控制台应用程序,然后添加如下代码
#include <iostream.h>struct tSTUDENT{char name[20];bool sex;int number;int score;tSTUDENT* next;};tSTUDENT* g_pFirst = NULL;void ListInit(){}void ListDestroy(){tSTUDENT* p = NULL;tSTUDENT* q = NULL;if(g_pFirst){p = g_pFirst;while(p){q = p->next;delete p;p = q;}g_pFirst = NULL;}}void ListClear(){tSTUDENT* p = NULL;tSTUDENT* q = NULL;if(g_pFirst){p = g_pFirst;while(p){q = p->next;delete p;p = q;}g_pFirst = NULL;}}int ListLength(){int count = 0;tSTUDENT* p = NULL;tSTUDENT* q = NULL;if(g_pFirst){p = g_pFirst;while(p){count++;q = p->next;p = q;}}return count;}tSTUDENT* GetElem(int num){tSTUDENT* p = NULL;tSTUDENT* q = NULL;if(g_pFirst){p = g_pFirst;while(p){if(num == p->number){return p;}q = p->next;p = q;}}return NULL;}void ListInsert(char* pName,bool sex,int number,int score){tSTUDENT* p = NULL;tSTUDENT* q = NULL;tSTUDENT* r = NULL;p = new tSTUDENT;for(int i=0;i<20;i++){p->name[i] = pName[i];}p->sex = sex;p->number = number;p->score = score;p->next = NULL;if(g_pFirst){q = g_pFirst;while(q->next){q = q->next;}q->next = p;}else{g_pFirst = p;}}void ListDelete(int num){tSTUDENT* p = NULL;tSTUDENT* q = NULL;if(g_pFirst){p = g_pFirst;if(num == p->number){g_pFirst = p->next;delete p;return;}else{while(p){if(p->next){if(num == p->next->number){q = p->next;p->next = q->next;delete q;return;}}p = p->next;}}}}void ListVisit(){tSTUDENT* p = NULL;tSTUDENT* q = NULL;if(g_pFirst){p = g_pFirst;while(p){cout<<"Name :"<< p->name<<endl;cout<<"sex "<<p->sex<<endl;cout<<"Number :"<<p->number<<endl;cout<<"score:"<<p->score<<endl;cout<<"---------------"<<endl;q = p->next;p = q;}}}void main(){char name[20];int sex;int score;int num;cout<<"please input students' information ..."<<endl;for(int i=0;i<3;i++){cout<<"Input the name:";cin>>name;cout<<"Input the sex:";cin>>sex;cout<<"Input the score:";cin>>score;cout<<"Input the number:";cin>>num;ListInsert(name,bool(sex),num,score);}ListVisit();ListDestroy();}
运行效果如下
0 0
- 链表简单操作
- 简单链表操作
- 简单链表操作
- 简单链表操作
- 链表简单操作
- 简单链表操作
- 链表简单操作
- 实现链表基本操作(简单操作)
- 简单链表的操作
- 链表的简单操作
- 链表的简单操作
- 链表的简单操作
- 双向链表简单操作
- 链表的简单操作
- 链表及其简单操作
- 链表的简单操作
- 链表的简单操作
- 静态链表--简单操作
- UnsatisfiedLinkError Native method not found:
- (十五) YII2 将参数传递到layouts/main.php中
- poj 3069 贪心算法
- uva 11552(dp)
- (十六)yii2 视图中渲染到另一个视图中
- 简单链表操作
- Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL
- 关于苹果《Genius Bar 天才吧》预约流程
- java-集合类(二)-迭代器-Iterator-Collections类自然排序
- linux系统-进程管理-基本概念和命令
- objective_c 第九章课后练习题答案
- 湘潭大学oj 1195
- Difference between “git add -A” and “git add .” and "git add -u"
- 学习SQL Server推荐的10本书