八大排序算法 Java、Python、C++实现 -- 冒泡排序
2016-08-05 17:05
447 查看
描述
它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。
python代码:
Java代码:
C++代码:
void Bubble_2 ( int r[], int n){
int low = 0;
int high= n -1; //设置变量的初始值
int tmp,j;
while (low < high) {
for (j= low; j< high; ++j) //正向冒泡,找到最大者
if (r[j]> r[j+1]) {
tmp = r[j]; r[j]=r[j+1];r[j+1]=tmp;
}
--high; //修改high值, 前移一位
for ( j=high; j>low; --j) //反向冒泡,找到最小者
if (r[j]<r[j-1]) {
tmp = r[j]; r[j]=r[j-1];r[j-1]=tmp;
}
++low; //修改low值,后移一位
}
}
它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。
python代码:
def bubble_sort(lists): # 冒泡排序 count = len(lists) for i in range(0, count): for j in range(i + 1, count): if lists[i] > lists[j]: lists[i], lists[j] = lists[j], lists[i] return lists
Java代码:
/* * 冒泡排序 * 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 * 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 * 针对所有的元素重复以上的步骤,除了最后一个。 * 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。 * @param numbers 需要排序的整型数组 */ public static void bubbleSort(int[] numbers) { int temp = 0; int size = numbers.length; for(int i = 0 ; i < size-1; i ++) { for(int j = 0 ;j < size-1-i ; j++) { if(numbers[j] > numbers[j+1]) //交换两数位置 { temp = numbers[j]; numbers[j] = numbers[j+1]; numbers[j+1] = temp; } } } }
C++代码:
void Bubble_2 ( int r[], int n){
int low = 0;
int high= n -1; //设置变量的初始值
int tmp,j;
while (low < high) {
for (j= low; j< high; ++j) //正向冒泡,找到最大者
if (r[j]> r[j+1]) {
tmp = r[j]; r[j]=r[j+1];r[j+1]=tmp;
}
--high; //修改high值, 前移一位
for ( j=high; j>low; --j) //反向冒泡,找到最小者
if (r[j]<r[j-1]) {
tmp = r[j]; r[j]=r[j-1];r[j-1]=tmp;
}
++low; //修改low值,后移一位
}
}
相关文章推荐
- 用Python实现八大排序算法--冒泡排序
- 用Python实现八大排序算法--插入排序
- 用Python实现八大排序算法--快速排序
- 用Python实现八大排序算法--直接选择排序
- 用Python实现八大排序算法--归并排序
- 用Python实现八大排序算法--堆排序
- 各种排序算法python和java实现(一)
- 各种排序算法python和java实现(二)
- 排序算法Java实现(冒泡排序)
- Java 语言实现的八大排序算法
- Java实现八大基础排序算法
- 如何用Python实现八大排序算法
- Java 语言实现的八大排序算法
- 如何用Python实现八大排序算法
- 排序算法总结(冒泡排序、直接插入排序、希尔排序)(python实现)
- 算法基础——十种常用排序算法的Java及Python实现
- 八大排序算法的 Python 实现
- 【排序算法】冒泡排序原理及Java实现
- 【排序算法】 冒泡排序(java实现)
- (转)Java 语言实现的八大排序算法