收藏 分享(赏)

数组(3)--排序.ppt

上传人:yjrm16270 文档编号:8798248 上传时间:2019-07-12 格式:PPT 页数:12 大小:195KB
下载 相关 举报
数组(3)--排序.ppt_第1页
第1页 / 共12页
数组(3)--排序.ppt_第2页
第2页 / 共12页
数组(3)--排序.ppt_第3页
第3页 / 共12页
数组(3)--排序.ppt_第4页
第4页 / 共12页
数组(3)--排序.ppt_第5页
第5页 / 共12页
点击查看更多>>
资源描述

1、江苏省锡山高级中学 信息技术教研组,排序,1、排序的功能:将一个数据元素(或记录)的任意序列,重新排成一个按关键字有序的序列。 2、排序过程的组成步骤: 首先比较两个关键字的大小; 再将关键字从一个位置移动到另一个位置。,江苏省锡山高级中学 信息技术教研组,思想:首先从1n个元素中选出关键字最小的记录交换到第一个位置上。然后再从第2个到第n个元素中选出次小的记录交换到第二个位置上,依次类推。,选择排序,江苏省锡山高级中学 信息技术教研组,待排元素序列:53 27 36 15 69 42第一趟排序: 15 53 36 27 69 42第二趟排序: 15 27 53 36 69 42第三趟排序:

2、15 27 36 53 69 42第四趟排序: 15 27 36 42 69 53第五趟排序: 15 27 36 42 53 69,从小到大排序,i:确定第i个位置 j:第i个位置后面的数据下标,江苏省锡山高级中学 信息技术教研组,选择排序程序,program xzpx; const n=7; var a:array1n of integer; i,j, temp:integer; begin write(Enter data:); for i:=1 to n do read(ai); for i:=1 to n-1 do for j:=i+1 to n do if aiaj then beg

3、intemp:=ai;ai:=aj;aj:=temp; end; write(output data:); for i:= 1 to n do write(ai, ); End.,从小到大排序,江苏省锡山高级中学 信息技术教研组,(改进)选择排序程序,program xzpx; const n=7; var a:array1n of integer; i,j,k,temp:integer; begin write(Enter data:); for i:=1 to n do read(ai); for i:=1 to n-1 do begin k:=i; for j:=i+1 to n do

4、if aji then begin temp:=ai;ai:=ak;ak:=temp;end; end; write(output data:); for i:= 1 to n do write(ai, ); End.,江苏省锡山高级中学 信息技术教研组,冒泡排序(起泡排序) 基本思想:小的浮起,大的沉底。 第一趟:第1个与第2个比较,大则交换;第2个与第3个比较, 大则交换,关键字最大的记录交换到最后一个位置上; 第二趟:对前n-1个记录进行同样的操作,关键字次大的记录交换到第n-1个位置上;依次类推,则完成排序。,江苏省锡山高级中学 信息技术教研组,待排元素序列:53 27 36 15 6

5、9 42第一趟排序: 27 36 15 53 42 69第二趟排序: 27 36 15 42 53 69第三趟排序: 27 15 36 42 53 69第四趟排序: 15 27 36 42 53 69第五趟排序: 15 27 36 42 53 69,从小到大排序,i:确定趟数 j:每趟两两比较的数据下标,从左向右冒,江苏省锡山高级中学 信息技术教研组,program mppx; const n=7; var a:array1n of integer; i,j,temp:integer; begin write(Enter data:); for i:= 1 to n do read(ai);

6、for i:=1 to n -1 do for j:=1 to n-i do if ajaj+1 then begin temp:=aj;aj:=aj+1;aj+1:=temp end; write(output data:); for i:= 1 to n do write(ai:6); writeln; end.,冒泡排序程序,从小到大排序,该程序从左向右冒泡, 如果从右向左冒泡,程序如何修改?,江苏省锡山高级中学 信息技术教研组,插入排序,基本思想:从数组的第2号元素开始,顺序从数组中取出元素,并将该元素插入到其左端已排好序的数组的适当位置上。,江苏省锡山高级中学 信息技术教研组,待排元

7、素序列:53 27 36 15 69 42第一次排序: 27 53 36 15 69 42第二次排序: 27 36 53 15 69 42第三次排序: 15 27 36 53 69 42第四次排序: 15 27 36 53 69 42第五次排序: 15 27 36 42 53 69,从小到大排序,i:待进行排序的元素下标 j:比较过程中移动的下标,江苏省锡山高级中学 信息技术教研组,插入排序程序,program crpx; const n=7; var a:array1n of integer; i,j,temp:integer; begin write(Enter data:); for i:= 1 to n do read(ai); for i:=2 to n do begin temp:=ai;j:=i-1; while (temp0) do begin aj+1:=aj;j:=j-1 end; aj+1:=temp; end; write(output data:); for i:= 1 to n do write(ai, ); end.,从小到大排序,江苏省锡山高级中学 信息技术教研组,作业,熟练掌握三种排序随机生成n个数据,使用选择(改进),冒泡,插入的方法进行从大到小排序。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报