网站大量收购闲置独家精品文档,联系QQ:2885784924

[电脑基础知识]数据结构9第八章:排序.ppt

  1. 1、本文档共34页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[电脑基础知识]数据结构9第八章:排序

排序 主讲教师:李长云 班 级:信息系 教 室:多媒体 顺序表的直接插入排序算法 顺序表的直接插入排序算法如下: void zjcrpxs(int r[],int n) {//顺序表的直接插入排序 int i,j,t; r[0]=min; for (i=2;i=n;i++) { t=r[i];  j=i-1;  while(tr[j]) r[j+1]=r[j--]; r[j+1]=t;}  } 图 例 单链表表示的直接插入排序算法 用单链表表示的直接插入排序算法如下: JD* zjcrpxl(JD *h){//用单链表表示的直接插入排序 JD *t,*p,*r,*q;  if(h!=NULL){t=h; while (t-link!=NULL)  {p=t-link;  if((p-key)(h-key)) { t-link=p-link;p-link=h;h=p;}  else{q=h;r=q-link;  while((p-key)(r-key))  {q=r;r=q-link;}  if(p==r) t=p; else{ t-link=p-link;  p-link=r;q-link=p; } } } }return h;} 二分插入排序算法 二分插入排序算法如下: void rffpx(int r[],int n)  {//二分插入排序  int i,j,m,t,w,x; for(i=1;in;i++)  {x=r[i];t=0;w=i-1;  while(t=w)  {m=(t+w)/2;  if(xr[m]) w=m-1; else t=m+1;}  for (j=i-1;j=t;j--)  r[j+1]=r[j]; r[t]=x;}} 图 例 图 例 希尔排序的算法 希尔排序的算法如下: void shellpx(int r[],int n)  {//希尔排序  int x,i,j,k; k=n/2;  while(k=1) {for(i=k+1;i=n;i++)   {x=r[i];j=i-k;  while((j0)(x.keyr[j].key))   {r[j+k]=r[j];j-=k;}   r[j+k]=x;}  k=k/2;}} 图 例 冒泡排序算法 冒泡排序算法如下: void qppx(int r[],int n) {//冒泡排序 int i,j,k,x; j=1;k=1;  while ((jn)(k0)) {k=0; for(i=0;in-j;i++) if (r[i+1]r[i])  {k++;x=r[i];r[i]=r[i+1];r[i+1]=x;}

文档评论(0)

qiwqpu54 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档