向上起泡排序

1.总共要比较n-1次,每次比较j=n-i次,j从尾元素起,左半区为有序子集,起始为空,右半区为无序子集,函数头BubbleUp(int p,int n)

2.冒泡排序(Bubble Sort)也是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的逆序就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢"浮"到数列的顶端。

代码实现:

#include<stdio.h>
void BubbleUp(int *p,int n);
void BubbleUp(int *p,int n)
{int temp;int i,j;for(i=0;i<n;i++){for(j=n;j>n-i;j--){if(p[j-1]<p[j-2]){temp=p[j-1];p[j-1]=p[j-2];p[j-2]=temp;}}}for(i=0;i<n;i++){printf("%d ",p[i]);}
}
int main()
{int a[]={2,4,1,6,23,12,3,21,45,13};int n;n=sizeof(a)/sizeof(a[0]);BubbleUp(a,n);return 0;
}

结果:

王立柱《c语言》3.5.4相关推荐

  1. c语言程序设计王立柱pdf,C语言程序设计 教学课件 朱立华 王立柱 C语言程序设计课件第5章090909.pdf...

    C语言程序设计 1 2015-6-8 第五章 一级指针与一维数组 主讲: 计算机学院 朱立华 2 2015-6-8 内容提要 内容提要 直接引用与间接引用的不同方式及实质 指针是地址的类型,是对地 ...

  2. c语言程序设计王立柱pdf,C语言程序设计 教学课件 朱立华 王立柱 C语言程序设计课件第4章090909.pdf...

    C语言程序设计 1 2015-6-8 第四章 程序流程控制 主讲: 计算机学院 朱立华 2 2015-6-8 内容提要 内容提要 算法的基本概念以及表示方法,简单介绍流程图 C程序的3种基本流程控 ...

  3. 王立柱《c语言》3.5.5

    向下起泡排序 1.冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法. 它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小.首字母从Z到A)错误就把他们 ...

  4. 王立柱《C语言程序设计》3.5.3

    利用IndexOfMin(),编写选择排序函数 #include<stdio.h> int Selection(int *p,int n); int IndexOfMin(int *p,i ...

  5. 王陆C语言,王陆和王舞的关系

    开始两人是师徒,但后来关系是恋人.一开始王舞坚持大师兄会回来,所以并没有觉得自己会喜欢上别人.但在和王陆的日渐相处中,两人之间感情逐渐升温,最后虽然大师兄短暂的回来了,但还是消散了,而王舞也知道了王陆 ...

  6. java语言编程基础王晓华_Java语言基础编程练习

    Java语言基础编程练习 1. 运算符练习 提示用户输入正整数类型的秒数,拆分秒数后输出x小时x分x秒. 如:输入7199,输出1小时59分59秒 System.out.println("请 ...

  7. 组态王的c语言语法,组态王常用的函数()

    此函数为报表专用函数.查询历史数据,系统会自动弹出历史数据查询对话框.语法使用格式如下: ReportSetHistData2(StartRow,StartCol); 参数说明: StartRow:查 ...

  8. 湖北工业大学数据结构用头文件、数据结构与算法王立柱2013

    书中对Vector.List.Queue.Stack.Heap.Graph等进行了实现,全书代码在vc6中理论上运行通过,但是到了现代c++,使用vc6进行学习与写代码是比较麻烦的,基于提供的代码,仅 ...

  9. 王朔《我的千岁寒》:可以看却无法看到

    你可以说<我的千岁寒>是梦呓,甚至是妄语狂言,但你不能说看不懂,你可以不懂它的修辞,但你应该听到它的声音.正如歌曲中的"RAP",它是歌唱者自我的沉溺和宣泄,听者只能反 ...

最新文章

  1. freemarker写select组件报错总结(六)
  2. 毕业设计:基于Web实现多用户宿舍管理系统
  3. python从入门到精通视频教程百度云-let's python从入门到精通视频教程
  4. 众多Android 开源项目推荐,给力工作给力学习
  5. 主成分分析 PCA算法
  6. 基于jquery的上传插件Uploadify 3.1.1在MVC3中的使用
  7. 2017.3.14 软件包管理器 思考记录
  8. Python通过多帧静态图像制作GIF动态图像
  9. shell test
  10. tar打包/解包用法
  11. MyEclipse Hibernate反向工程生成实体类
  12. 开关电源环路补偿--开关电源进阶知识补充2 为什么要进行伯德图分析?
  13. 企业选择WMS仓库管理系统免费版是否更好
  14. 一、Windows许可证即将过期怎么办
  15. Mysql 不包含某个字符
  16. 在移动设备上使用M3G编程教程(转)
  17. java传纸条问题_小学生考试传纸条作弊,老师看到纸条内容,表示让人“着急”...
  18. 进入房间时如何使用SmartThings自动打开灯光
  19. vue导出excel加一个进度条_Vue实现在前端导出Excel
  20. 一位37岁被裁技术高管给你提个醒:在职场,这件事越早做越好

热门文章

  1. 女性吃什么食物会导致不孕?
  2. 计算机系统的性能建模与设计 排队论实战,计算机系统的性能建模与设计:排队论实战(计算机科学丛书)...
  3. Readme文件写法
  4. 快速弄懂iPhone X 设计尺寸和适配
  5. mac下 Github添加SSH keys
  6. 设计师都在用的6个免费设计素材网站~
  7. 快到假期了,还抢不到票?可以试试这两个工具
  8. 服务器的型号规格,云服务器规格型号
  9. linux cpu降频怎么设置,Android系统修改CPU降频温度阈值、修改CPU关内核温度阈值的方法...
  10. 泰森多边形的matlab实现