首页 > 代码库 > 冒泡排序
冒泡排序
算法原理:( 从后往前)
1、比较相邻的元素,如果第一个比第二个大,就交换他们俩个位置
2、对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
3、针对所有的元素重复以上的步骤,除了最后一个。
4、持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较
总结:
两层循环,外层控制次数, 内层排序
第一次循环找出最大(升序)或最小(降序)第一个,排列到最尾,
第二次循环找出剩下中最大(升序)或最小(降序)的, 排在倒数第二
一次类推
注:每次循环比较 就将递减
示例图:
复杂度:
核心代码:
int[] arr = { 23, 44, 66, 76, 98, 11, 3, 9, 7 }; int temp = 0; for (int i = 0; i < arr.Length -1; i++) { for (int j = 0; j < arr.Length -1 -i; j++) { //// 升序 //if (arr[j] > arr[j + 1]) //{ // temp = arr[j + 1]; // arr[j + 1] = arr[j]; // arr[j] = temp; //} // 降序 if (arr[j] < arr[j + 1]) { temp = arr[j + 1]; arr[j + 1] = arr[j]; arr[j] = temp; } } }
冒泡排序
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。