失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 冒泡排序c java c 冒泡排序 c语言冒泡排序法代码

冒泡排序c java c 冒泡排序 c语言冒泡排序法代码

时间:2023-12-21 17:34:28

相关推荐

冒泡排序c java c 冒泡排序 c语言冒泡排序法代码

冒泡排序,c语言冒泡排序法代码

冒泡排序

冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。

它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。

这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序”。

中文名

外文名

时间复杂度

实质

冒泡排序

Bubble Sort

O(n²)

把小(大)的元素往前(后)调

/**

* 冒泡排序

*/

// 定义数组

int[] array = new int[]{5, 3, 1, 6, 2, 19, 7, 88, 32};

// 定义并初始化一个int类型的临时变量

int temporary = 0;

// 外层循环控制数组排序共需要循环多少次(每次相邻的两个元素进行比较,只需要比较数组总元素个数-1次)

for (int i = 0; i < array.length - 1; i++) {

// 内层循环控制第i次排序需比较多少次

//(例如:第一次排序后会确定数组中最大的一个数,且不再参与比较。第二次再确定一个除最大数以外较大的数。以此类推)

// 所以每次循环(数组的长度-i-1)次数即可。

// 不可以使用(数组的长度-j-1),会导致循环提前结束而不计算数组中剩余元素的比较

for (int j = 0; j < array.length - i - 1; j++) {

// 相邻的两个元素进行比较,将较大的元素赋值给临时变量,从而实现换位操作

if (array[j] > array[j + 1]) {

temporary = array[j];

array[j] = array[j + 1];

array[j + 1] = temporary;

}

}

}

// 遍历排序后数组中的元素

for (int k = 0; k < array.length; k++) {

System.out.println(array[k]);

}

}

}

控制台输出:

相关文章暂无相关文章

如果觉得《冒泡排序c java c 冒泡排序 c语言冒泡排序法代码》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。