西电机电院自动化专业软件技术基础上机报告(4)
班级:041132 学号:04113*** 姓名:
{
q=p->next;
p->next=q->next; q->next=head->next;; head->next=q; }
return head; }
int main() {
linklist *head;
head=(linklist*)malloc(sizeof(linklist));
head=CREATLSTER(); //尾插法建立链表。
printf(\ PRINT(head); //打印当前链表。 printf(\
REVERSEL(head); //将链表逆置。
printf(\ PRINT(head); //打印逆置以后的链表。 printf(\ return 1; }
第三题:
/****************************************************************************** 3.设有一个含有数字、英文字母和其它字符的单链表,试编写一个算法将该单链表拆分为三个单链表,使每个单链 表中只包含同一类的字符,要求利用原表中的结点空间作为这三个表的结点空间,头结点可以另辟空间。
******************************************************************************/ #include
datatype data; struct node *next;
}linklist;//定义结点结构体‘
班级:041132 学号:04113*** 姓名:
linklist *NUM,*CHAR,*STRING,*head; //定义全局变量,以便函数调用之后能够将调用结果返回
linklist *CREATLSTER() //创建链表,将数据读入 {
datatype ch;
linklist *head,*r,*s;
head=(linklist *)malloc(sizeof(linklist)); r=head;
ch=getchar(); while(ch!='\\n') {
s=(linklist *)malloc(sizeof(linklist)); s->data=ch; r->next=s; r=s;
ch=getchar(); }
r->next=NULL; return head; }
/*删除头结点为head的链表中的结点p*/
linklist *DELETE(linklist *p,linklist *head) {
linklist *q=head; while(q->next!=p) q=q->next; q->next=p->next; return p; }
/*对链表数据进行查找分类*/ void FIND(linklist *head) {
linklist *p;
linklist *s_NUM=NUM,*s_CHAR=CHAR,*s_STRING=STRING; //将结果传给全局变量 p=head->next; s_NUM->next=NULL;
定义局部变量,以便班级:041132 学号:04113*** 姓名:
s_CHAR->next=NULL; s_STRING->next=NULL; while(p!=NULL) {
if((p->data>='0')&&(p->data<='9')) //将数字结点链接在s_NUM之后 {
s_NUM->next=DELETE(p,head); s_NUM=s_NUM->next; p=p->next; }
else if((p->data>='A')&&(p->data<='z')) {
s_CHAR->next=DELETE(p,head); //将字母结点链接在s_CHAR之后 s_CHAR=s_CHAR->next; p=p->next; } else {
s_STRING->next=DELETE(p,head);
s_STRING=s_STRING->next; //将其他字符结点链接在s_STRING之后 p=p->next; }
}
s_NUM->next=NULL; s_CHAR->next=NULL; s_STRING->next=NULL; }
/*打印当前链表*/
void PRINT(linklist *head) {
linklist *p; int j=0;
p=head->next;
while(p!=NULL) {
j++;
printf(\ p=p->next;
班级:041132 学号:04113*** 姓名:
} }
int main() {
head=(linklist *)malloc(sizeof(linklist)); //为head结点分配空间
NUM=(linklist *)malloc(sizeof(linklist)); //为数字链表的头结点分配空间。 CHAR=(linklist *)malloc(sizeof(linklist)); //为字母链表的头结点分配空间。 STRING=(linklist *)malloc(sizeof(linklist)); //为其他字符链表的头结点分配空间。
printf(\ head=CREATLSTER(); //尾插法建立链表 printf(\
printf(\ PRINT(head); //打印当前链表 printf(\ FIND(head); //为当前链表整理分类
printf(\ PRINT(NUM); //打印数字链表 printf(\
printf(\ PRINT(CHAR); //打印字母链表 printf(\
printf(\ PRINT(STRING); //打印其他字符链表 printf(\ return(1); }
第四题:
/******************************************************************** 某百货公司仓库中有一批电视机,试按价格从高到低的次序建立一个循环链表,每个结点有价格、数量和指针三个域。
现新到10台价格为4000元的电视机,修改原链表并输出修改后链表的所有内容。 ********************************************************************/ #include
int number; float price;
班级:041132 学号:04113*** 姓名:
struct node *next; }linklist;
/************************************************************* 用尾插法创建链表
**************************************************************/ linklist *CREAT() {
int number1; float price1;
linklist *head,*r,*s;
head=(linklist *)malloc(sizeof(linklist)); r=head;
printf(\ scanf(\ while((number1!=0)&&(price1!=0)) {
s=(linklist *)malloc(sizeof(linklist)); s->number=number1; s->price=price1; r->next=s; r=s;
scanf(\ }
r->next=head; return head; }
/******************************************************* 打印链表
********************************************************/ void PRINT(linklist *head) {
linklist *p; int i=0;
p=head->next; while(p!=head) { i++;
printf(\ THE NUMBER IS %d AND THE PRICE IS \ p=p->next; } }
%f
…… 此处隐藏:1599字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [建筑文档]2018年公需课:专业技术人员创新能力与
- [建筑文档]2013年福建教师招考小学数学历年真题
- [建筑文档]高中信息技术课flash知识点总结 - 图文
- [建筑文档]电工实训 - 图文
- [建筑文档]最高院公告案例分析100篇(民商篇)
- [建筑文档]南开中学高2017级14-15学年(上)期末
- [建筑文档]五粮液集团战略分析
- [建筑文档]鲁教版(2012秋季版)九年级化学 酸碱
- [建筑文档]超星尔雅2017中国哲学概论自整理题库答
- [建筑文档]关于成为海口金盘饮料公司材料独家供货
- [建筑文档]LNG学习资料第一册 基础知识 - 图文
- [建筑文档]四年级品社下册《好大一个家》复习资料
- [建筑文档]现阶段领导权力腐败的特点及发展趋势
- [建筑文档]魏晋南北朝诗歌鉴赏—嵇康
- [建筑文档]坚持追求真爱是理智的行为 正方一辩稿
- [建筑文档]湘西州刑释解教人员帮教安置工作存在的
- [建筑文档]园林工程试题库及答案
- [建筑文档]计算机长期没有向WSUS报告状态
- [建筑文档]日语最新流行语
- [建筑文档]B62-016 景观进场交底专题会议
- 2018年中考语文课内外古诗词鉴赏专题复
- 高考试题研究心得体会
- C语言基础题及答案
- 电气控制及PLC习题及答案
- 都昌小学家长学校汇报材料
- GMAT作文模板正确使用方法
- 俄军办坦克大赛:中国99式有望与豹2A6
- 成本会计练习题
- 酒店餐饮业最流行的5S管理方法
- 2014-2015学年山东省菏泽市高二(下)
- 《黄鹤楼送孟浩然之广陵》教案、说课、
- 2013年结构化学自测题 有答案版
- 2011西安世界园艺博览会游览解说词(附
- 窗口文明单位示范单位创建活动总结
- 2018满分超星尔雅就业课后练习期末答案
- 韶山市城市总体规划-基础资料
- 苏教版第三单元知识点归纳
- 第4章 曲轴模态分析
- 加大查办案件力度的思考
- 武汉CPC导轨介绍




