#include <stdio.h>
int main()
{
//1、数组的排序-冒泡排序
/*
1、规则:相邻的两个数据进行比较
2、如果有N个数据,需要选择N-1次参照物来比较,
因为最后一次的数据,都被别人比过了
3、第一个选择比较参考数据的时候,会和后面(N-1)个数据都比较
第2个数据,会比较N-2次
第3个数据,会比较N-3次
4、冒泡排序关键点
4.1有两个for循环,外层循环N-1次,内层循环N-i-1次
4.2有1个if语句,用来判断大小是否需要交换的,
根据当前列和后一列数据进行比较,所以使用内层变量
4.3有一个交换的代码块,
交换的代码块需要借助一个临时变量 */ int array[] = {,,,,};
//选择比较参考数据的
for(int i=;i<-;i++)//N-1
{
//当i=0的时候 a[i] = 5 4次=N-i-1
//当i=1的时候 a[i] = 4 3次=N-i-1
//当i=2的时候 a[i] = 3 2次=N-i-1
//内层循环,1个参考数据,会比较几次
for(int j=;j<-i-;j++)//N-i-1
{
//比较的代码
//因为比较的时候是,
//当前一列的数据和后一列的数据进行比较,
//所以在选择的使用内层循环变量而不是外层变量
if(array[j] > array[j+])//判断大小
{
//交换的代码
int temp = ;
temp = array[j];
array[j] = array[j+];
array[j+] = temp;
}
}
} for(int k=;k<;k++)
{
printf("%d\n",array[k]);
} return ;
}

最新文章

  1. Android对话框自定义标题
  2. Cordova - 与iOS原生代码交互1(通过JS调用Swift方法)
  3. linux web服务器必需的库文件
  4. [转] js == 与 === 的区别
  5. Leetcode: Palindrome Numbers
  6. 使用开源工具MonoDevelop开发GTK#图形界面
  7. dataTable 禁止排序
  8. js 判断url的?后参数是否包含某个字符串
  9. Android Studio 2.1.x 关联SDK API Source
  10. 非原生APP开发中可以用到的JQ插件
  11. NSArray的4种遍历方式
  12. 三思考,实现自己定义404页:Tomcat、SpringMVC精确匹配、重写DispatchServlet
  13. all-document
  14. 20165231 2017-2018-2 《Java程序设计》第3周学习总结
  15. Java序列化Serializable
  16. java.lang.NoSuchMethodException: .&lt;init&gt;()
  17. Java安全通信:HTTPS与SSL
  18. Deep learnin简介
  19. 修改oracle系统参数spfile导致数据库无法启动解决
  20. 带你从零学ReactNative开发跨平台App开发(三)

热门文章

  1. github 的使用步骤
  2. P3348 [ZJOI2016]大森林
  3. CF912D Fishes 期望
  4. Geometry - DbGeometry的使用说明一
  5. java中list里面存放map,根据map中的某一个字段进行排序
  6. css过渡transition
  7. day25 网络编程之socket sc架构
  8. 搭建 Django 平台
  9. 并行执行hive脚本
  10. eclipse+pydev 安装和配置过程