已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
排序操作总结program Sort_Ascending;$R+const maxn=100; c1=0; cd=9;type arr=array0.maxnof integer; recnode=record key:string; next:integer; end; listtp=array1.maxnof recnode; arrtp=arrayc1.cdof integer;var s:arr; n,d:integer;procedure init;var i:integer;begin write(n=); readln(n); write(Input Num:); for i:=1 to n do read(si); readln;end;procedure print(s:arr);var i:integer;begin for i:=1 to n do write(si, ); writeln;end;procedure InsertSort(s:arr);Time:O(n2) Room:O(1) -Stable sorting method-var i,j:integer;begin for i:=2 to n do if sisi-1 then begin s0:=si; j:=i-1; while s0n; end; procedure ShellInsert(var s:arr; dk:integer); var i,j:integer; begin for i:=dk+1 to n do if (si0)and(s0sj+1 then begin temp:=sj; sj:=sj+1; sj+1:=temp; flag:=false; end; inc(i); until flag; write(BubbleSort: ); print(s);end;procedure QuickSort(s:arr);Time:O(nlog 2 n) Room:O(log 2 n) -Unstable sorting method- procedure qsort(var s:arr; h,t:integer); var i,j,p,x:integer; begin i:=h; j:=t; p:=sh; x:=sh; while ij do begin while (i=x)do dec(j); si:=sj; while (ij)and(si=x)do inc(i); sj:=si; end; si:=p; if ht then begin qsort(s,h,i-1); qsort(s,i+1,t); end; end;begin qsort(s,1,n); write(QuickSort: ); print(s);end;procedure SelectSort(s:arr);Time:O(n2) Room:O(1) -Unstable sorting method-var i,j,k,temp:integer;begin for i:=1 to n-1 do begin k:=i; for j:=i+1 to n do if sjsk then k:=j; if ik then begin temp:=si; si:=sk; sk:=temp; end; end; write(SelectSort: ); print(s);end;procedure HeapSort(s:arr);Time:O(n log 2 n) Room:O(1) -Unstable sorting method- procedure sift(var s:arr; h,t:integer); var i,j,x:integer; begin i:=h; j:=2*i; x:=sh; while j=t do begin if (jt)and(sj=sj then break; si:=sj; i:=j; j:=2*i; end; si:=x; end; procedure hsort(var s:arr); var i:integer; begin for i:=n div 2 downto 1 do sift(s,i,n); for i:=n downto 2 do begin s0:=s1; s1:=si; si:=s0; sift(s,1,i-1); end; end;begin hsort(s); write(HeapSort: ); print(s);end;procedure MergeSort(s:arr);Time:O(nlog 2 n) Room:O(n) -Stable sorting method- procedure merge(var s:arr; p,q,r:integer); var i,j,t:integer; temp:arr; begin t:=p; i:=p; j:=q+1; while t=r do begin if (ir)or(si=sj) then begin tempt:=si; inc(i); end else begin tempt:=sj; inc(j); end; inc(t); end; for i:=p to r do si:=tempi; end; procedure msort(var s:arr; p,r:integer); var q:integer; begin if pr then begin q:=(p+r-1) div 2; msort(s,p,q); msort(s,q+1,r); merge(s,p,q,r); end; end;begin msort(s,1,n); write(MergeSort: ); print(s);end;procedure RadixSort(s:arr);var r:listtp; f,e:arrtp; i,j,p:integer; procedure distribute(var r:listtp; p,i:integer; var f,e:arrtp); var j,code:integer; begin for j:=c1 to cd do fj:=0; while p0 do begin val(rp.keyi,j,code); if fj=0 then fj:=p else rej.next:=p; ej:=p; p:=rp.next; end; end; procedure collect(var r:listtp; i:integer; f,e:arrtp; var p:integer); var j,t:integer; begin j:=c1; while fj=0 do j:=succ(j); p:=fj; t:=ej; while jcd do begin j:=succ(j); while (jcd)and(fj=0)do j:=succ(j); if fj0 then begin rt.next:=fj; t:=ej; end; end; rt.next:=0; end; procedure rsprint(p:integer); var i,j:integer; begin while p0 do begin j:=1; while rp.keyj=0 do begin delete(rp.key,1,1); inc(j); end; write(rp.key, ); p:=rp.next; end; writeln; end;begin write(RadixSort-d=); readln(d); for i:=1 to n do begin str(si,ri.key); ri.next:=i+1; if length(ri.key)d then for j:=1 to d-length(ri.key) do insert(0,ri.key,1); end; rn.next:=0; fillchar(f,sizeof(f),0); fillchar(e,sizeof(e),0); p:=1; for i:=d downto 1 do begin distribute(r,p,i,f,e); collect(r,i,f,e,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 保育员普通话培训课件
- 工厂仓储管理技能培训
- 大学生的压力与应对
- 动画剧本与创作第七章题材与视角
- 基于Linux内核的操作系统实验体系
- 受污染水源水预处理净化新技术教学课件
- 2026下半年小学语文教资面试识字专项题库及解析
- 初中道法教资面试国情易错题试卷及答案
- 市场营销环境的分析和市场分析
- 《商务公寓中的巨擘》课件
- 2026年上半年软考中级网络工程师真题及答案解析
- 2026年《艺术概论》题库及参考答案
- 2026年维修钳工技师(二级)职业技能鉴定考试题库(全国)
- 山东省2025年冬季普通高中学业水平合格考试物理试题
- 2026年仓库安全培训考试题及答案
- 托管机构老师劳动合同
- 2026年上海市中考真题历史试题【含答案解析】
- 2026年银行从业资格《个人贷款》真题及答案解析
- 变电所分列运行管理制度培训课件
- 热爱运动健康生活的小学主题班会课件
- 2026年无偿献血知识竞赛题库及答案
评论
0/150
提交评论