- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
链表的选择排序
排序采用选择法:
把30 接到80后面
45接到90后面
90替原来45的位置
***************************
预备知识:
NODE *v,*u,*p,*h;
U,v,h,p都是指针,它们只是地址性的可以指向结构
而链表中的表
有next指针
****************************************
链表排序
h
45 65 54 80 90 30
要实现45和90 的交换:
要接到80后面
要接到90后面
要接到h后面
90 45 65 54 80 30
要实现45和80 的交换:
30 接到54后面
接到80后面
80要接到90后面。即插入到90后面
所以一般情况需要用:
两个指针 vold v 指出45
两个指针 mold max 指出最大
这样可以方便的实现 v 或max,移走或被替换时,其它的可以接上。
但如果要被替换的是第一个,如45被90替换。
h,vold,v max
45 65 54 80 90 30
Max指向90, 30 放到80后面,
h,vold,v max
45 65 54 80 30 90
45 放到90后面,h,v,vold都跟着45移动,
max h,vold,v
90 45 65 54 80 30
h=max
还要一个游动指针 ,u, 用于不断和v比较
为了继续进行,下一轮开始前应该为:
h ,vold v,max u
90 45 65 54 80 30
vold要指向90, v指向45, u指向54
所以对于第一次交换后还要移动vold
if(vold==v) 时,vold=h;
总之一个比较可行的程序为:
while (v-next != NULL) //省去 空的v, //选择法
{ for(max=v,uold= u = v-next; u-next != NULL;
uold=u, u = u-next)
{ if (u-score max-score ) { mold=uold; max = u; } //找到最大的
} //u已移动,但队列未动
// u-next == NULL即u是最后一个表,跳出循环,
// 还要判别u指向的表是最大吗?
if(u-scoremax-score) {mold =uold; max=u;} //最后一个
if (max!= v) {
mv-next= max-next;
max-next =v;
if(vold==v) { h=max; }
else { vold-next=max; }
}
。。。。。
可见用以上方法指针比较多,而且指针移动比较麻烦。
因为一开始,不能够用vold=vold-next;方式。
并且上述程序还未完全调通
***************************************
为此,一种常用的方法,引入一个空表接到h的后面
先比较45 和65 :
if( v-next-score u-next-score ) ,……….
比出最大后 , 90要插入到u的位置时,要做下面的步骤:
1. 30 接到 80后面 . max独立出来
2. max-next =u;
3. v-next=max;
v=v-.next, u=v-next
将来输出时
return h-next;, 就可以把空表让过
具体分析:
引进一个v
NODE *v=(NODE*)malloc(sixeof(NODE));
V u
h
p p1 p2 p3 p4 p5 p6
v-next =h; h=v; 把v插入h和p1(45)之间
先比较p1==u(45)和p2 (65)
为了适合循环: v-next-score, u-next-score表示要比较的数据:u-score==45,p2.score == 65
P=v; u=v-next ; (v-next==u)
u-score==45 , v-next-sc
您可能关注的文档
- 北京四存培训中心英语随堂卷1.doc
- 单元一第3课_古代政治制度的成熟教学设计.doc
- 初一我和父母.ppt
- 历史智慧在课堂教学中的设计.doc
- 卸料平台1.doc
- 向好家装的标准看齐.doc
- 同仁堂资产运用效率分析2.doc
- 听力考试的特点和应对技巧.doc
- 四年级(上)数学教学计划(人教版).doc
- 哈工大2004年春季学期期中材料力学试卷.doc
- 2025年高考语文作文高分素材运用:从“北京条约”到“北京宣言“.pdf
- 2025年新高考英语二轮复习:新高考英语应用文写作提分技能类型模板.pdf
- 咨询工程师(投资)知识考试题库.pdf
- 海南省部分学校2024-2025学年高三年级上册学业水平诊断 化学试题.pdf
- 2024年安全例会制度.pdf
- 新高考九省专用2024年高考语文押题预测卷二(原卷版+解析版).pdf
- 2024年安全生产的管理制度.pdf
- 2024年世界职业院校技能大赛高职组“声乐、器乐表演组”赛项参考试题库(含答案).pdf
- 2024年中学生禁毒知识竞赛题库及答案(共80题).pdf
- 成都某中学2024-2025学年度上期高三定时练习 物理试题(含答案).pdf
文档评论(0)