- 1
- 0
- 约2.55万字
- 约 84页
- 2022-12-07 发布于北京
- 举报
* * * * 用链表的方法对约瑟夫问题进行编程 算法分析与设计 用链表解决约瑟夫问题,首先定义链表数据结构 struct node { int no; struct node * next; }; 1 2 29 30 ... head 表头节点 数据节点 数据节点 数据节点 数据节点 §10-8 链表基础-举例 共 83 页 第 * 页 main( ) { int i, k; struct node *head, *p, *q; head = (struct node *)malloc(sizeof(struct node)); head-no = -1; head-next = head; for ( i=30; i0; i-- ) /* 生成循环链表 */ { p = (struct node *)malloc(sizeof(struct node)); p-next = head-next; p-no = i; head-next = p; } printf(\nThe original circle is :); while ( p-next != head ) /* 循环链跳过表头结点 */ p = p-next; p-next = head-next; /* p 指向 30 */ for ( i=0; i15; i++ ) { for ( k=1 ; k9 ; k++ ) p = p-next; q = p-next; /* p 的下一个结点是要出列的结点 */ p-next = q-next; /* 循环链表跳过要出列的结点 */ printf(“%3d”, q-no); /* 输出 q 结点的编号 */ free(q); /* 释放 q 结点 */ } } §10-8 链表基础-举例 共 83 页 第 * 页 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 若是5个学生的数据,则在完成初始化操作后,数组的关系如下: stu数组 01 02 03 04 05 90 95 85 73 92 p数组 p[0] p[1] p[2] p[3] p[4] 算法分析: 程序中使用结构数组stu,指针数组p; 程序在结构数组和指针数组之间建立指针关系。 程序中只用对指针数组进行排序,就可以实现对指向的成绩的排序(选择排序)。 §10-3 结构指针 stu数组 01 02 03 04 05 90 95 85 73 92 p数组 p[0] p[1] p[2] p[3] p[4] 共 83 页 第 * 页 §10-3 结构指针 #define STNUM 5 ...... main ( ) { struct stuinf *ptemp, *p[STNUM]; int i,j,k,sum=0; for ( i=0; i=STNUM-1; i++ ) { scanf (%d%d, stu[i].stid,stu[i].score); p[i] = stu[i]; sum += stu[i].score; } for ( i =0; i = STNUM-2; i++ ) { k = i; for ( j = i; j = STNUM-1; j++ ) if ( p[k]-score p[j]-score ) k=j; if ( k != i ) { ptemp = p[i]; p[i]=p[k]; p[k]=ptemp; } } for ( i=0; i=STNUM-1; i++ ) printf(%d,%d\n, (*p[i]).stid, p[i]-score); printf (average score = %d\n, sum/STNUM); } 共 83 页 第 * 页 结构与函数的关系 向函数中传递结构的成员; 在函数之间传递整个结构; 向函数传递结构的地址(指针)。 向函数中传递结构的成员 在函数中传递结构成员的方法与传递简单变量的方法相同: 在函数之间传递成员的值; 在函数之间传递成员的地址。 实例 printf(%d, man.birthday.year); 传递结构成员的值 scanf(%d, man.birt
您可能关注的文档
- 北京理工大学《C语言程序设计3》课件-第8章函数.ppt
- 北京理工大学《C语言程序设计4》课件-第七章数组.ppt
- 北京理工大学《C语言程序设计4》课件-第三章 数据类型和运算规则 (1).ppt
- 北京理工大学《C语言程序设计4》课件-第九章 指针.ppt
- 北京理工大学《C语言程序设计4》课件-第二章 C语言概述.ppt
- 北京理工大学《C语言程序设计4》课件-第五章 选择结构的程序设计.ppt
- 北京理工大学《C语言程序设计4》课件-第八章 函数.ppt
- 北京理工大学《C语言程序设计4》课件-第六章 循环结构的程序设计.ppt
- 北京理工大学《C语言程序设计5》课件-第4章算法.pptx
- 北京理工大学《C语言程序设计5》课件-第9章指针.ppt
- 北京理工大学《C语言程序设计》(上)课件-第2章数据计算实现与顺序结构程序设计(上).pdf
- 北京理工大学《C语言程序设计》(上)课件-第2章数据计算实现与顺序结构程序设计(下).pdf
- 北京理工大学《C语言程序设计》(上)课件-第4章循环结构的程序设计(上).pdf
- 北京理工大学《C语言程序设计》(上)课件-第4章循环结构的程序设计(下).pdf
- 北京理工大学《C语言程序设计》(上)课件-第5章数组(上).pdf
- 北京理工大学《C语言程序设计》(上)课件-第5章数组(下).pdf
- 北京理工大学《C语言程序设计》(下)课件-第1章函数.pdf
- 北京理工大学《C语言程序设计》(下)课件-第3章链表(上).pdf
最近下载
- 宣和麻将档位对应表.docx VIP
- 茧丝绸加工与蚕丝蛋白生物材料的研究 朱良均 (1).ppt VIP
- 模具维护保养指导书.pdf VIP
- 七年级上册历史人教版20天计划新版.pdf VIP
- 2025年广东省广州市中考道法真题卷含答案解析.docx VIP
- 水电水利土建单元工程质量等级评定表、中间产品质量检验标准.pdf VIP
- (2026年浙江高考)2026年1月普通高等学校招生全国统一考试(浙江卷)英语听力真题(试题+原文+答案) .docx VIP
- 2025年中国铁路局招聘及笔试历年参考题库附答案.docx VIP
- 齿轮箱制造有限公司整厂搬迁扩能项目.pdf
- 互联网跨境电子商务速卖通虚拟仿真系统使用指导书.PDF VIP
原创力文档

文档评论(0)