- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
漓江学堂-程序设计与问题求解-期末考试参考程序
A级难度试题:(最高难度:A档--只需完成一题即可,随机挑选,满分100分)编程实现单链表的创建、查询、插入、删除等操作,每次操作之后都要输出单链表,要求在创建单链表的节点时,以输入-1表示结束,所有操作都要求函数实现。#include stdio.htypedef struct node{ int data ; struct node *next;}NODE;//定义结点数据类型const int LEN = sizeof(NODE); //一般建议用const常量,而不要用define定义符号常量void Print(NODE *h) //输出链表的内容{ NODE *q ; q = h-next; while(q!=NULL) //i:=0;while(ih-data) { printf(本结点地址%x ;数据: %d ,下一个结点地址 %x \n ,q,q-data,q-next); q = q-next ; }}void Insert(int x , NODE *h) //将数据x 插入表头为h的链表中{ NODE *p = (NODE *) malloc(LEN); p-data = x ; p-next = h-next ; h-next = p; Print(h);}NODE * Create(int n) //创建有n个结点的链表,注意最后生成的结点的数据是与输入顺序相反的{ int x ; NODE *q; NODE *p = (NODE *) malloc(LEN); p-next = 0; p-data = n; //链表表头存放链表中有多少个结点 printf(请输入整数,若输入-1则表示创建结束:); while(1) { scanf(%d,x); if (x==-1) break; Insert(x ,p); //插入新的结点 } Print(p); return p;} NODE * Find(int x, NODE *h) //在表头为h的链表中查找x是否存在{ NODE *p; p = h-next ;while(p!=NULL){ if(p-data == x ) return 1; p= p-next ;} return 0;}void Del(int x, NODE *h)//删除值为x的结点{ NODE *p ,*pre; pre = h ; p = h-next ; while(p!=NULL p-data!=x) { pre = p; p = p-next;} if (p==NULL) printf(删除不成功); else { pre-next = p-next; free(p); }}编程创建一个有序单链表,要求从键盘随机输入若干整数,将它们按照从小到大的顺序链接起来,输入以-1表示结束,输入时的数不能是有序的,创建和输出链表的操作都要求函数实现。void SortedInsert(int x ,NODE *h)//将数据有序插入,形成有序的链表{ NODE *pre,*p;NODE *q = (NODE *) malloc(LEN); q-data = x ;pre = h ; p = h-next;while(p!=NULL p-data x) { pre = p; p = p-next;} pre-next = q ; q-next = p;}NODE * Create(){ int x ; NODE *head = (NODE *)malloc(LEN); head-next = 0; head-data = 0; do{ scanf(%d,x); if(x!=-1) SortedInsert(x , head); }while x!=-1); return head;}void main(){ NODE head = Create(); Print();//print函数用上面一题的即可,数据结构定义也是}编程在当前目录下创建一个文件studinfo.txt,随机的从键盘输入10个学生记录(包括学号、姓名、性别、身高、地址等信息存入到该文件,然后将学生按照身高从高到低的顺序进行排序,并将排序之后的结果换行后保存到文件原始信息的后面。 typedef struct student{ char stno[20],name[20],sex,address[50]; //用F表示女,M表示男 float height;} STU;STU s[10];//用于保存学生的数据void sort(STU s[], int n)//对有n个学生的数据进行排序,具有通用性{}void Input(STU s[], int n)//输入n个学生的信息,同时保
您可能关注的文档
最近下载
- TBNCY002-2023 西双版纳红茶 晒红茶.pdf VIP
- 机关单位人力资源管理中存在的问题及解决对策.docx VIP
- 2025年中级(四级)营销员职业技能鉴定《理论知识》真题卷(后附答案及解析).pdf VIP
- 大数据概论教学课件.pptx VIP
- 西双版纳红茶 晒红茶.docx VIP
- 室内装修全工程施工方案(3篇).docx VIP
- 2025年卫生事业单位招聘考试(中医学基础知识)历年参考题库含答案详解(5卷).docx VIP
- 50个广告分析.doc VIP
- GB32030-2022 潜水电泵能效限定值及能效等级 (2).pdf VIP
- (语文)福州时代中学2020级初一新生入学检测.pdf VIP
文档评论(0)