- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基本算法介绍(一)
基本算法介绍(一);排序算法综述;(一)冒泡排序(paixu1.pas);(二)选择排序(Paixu1.pas);三)插入排序;1) 从尾插入(paixu3a);★折半插入(paixu3b);★快速排序;详细过程举例如下: ;procedure dg(x,y:integer);{X,Y表示集合的左右边界,即把第X到第Y个数进行排序}
var i,j,b,c,d,e,f,k:integer;
begin
k:=n[x];{标准数}
i:=x;j:=y{I,J为指针}
repeat
j:=j+1;
repeat {从J往左找到一个n[j]=k}
j:=j-1;
until (n[j]=k) or (ij);
if i=j then begin
b:=n[i]; n[i]:=n[j]; n[j]:=b; {交换}
i:=i+1; {左指针右移}
end;
i:=i-1;
repeat {从I往右找到一个n[i]=k}
i:=i+1;
until (n[i]=k) or (ij);
if i=j then begin
b:=n[i];n[i]:=n[j]; n[j]:=b; {交换}
j:=j-1;
end;
until ij;
if j-x0 then dg(x,j); {如果集合中不止一个数则进入下一层递归,X,J为新边界}
if y-i0 then dg(i,y); {如果集合中不止一个数则进入下一层递归,I,Y为新边界}
end;
文档评论(0)