c/python/java代码实现
冒泡排序
c
在这里我把索引根据原理意象化了,i表示边界索引,j表示正在冒泡的值的索引
若为了方便编写可直接 外循环(N - 1)次 / 内循环 (N - i - 1)次for (int i = 0; i > N - 1; i++)
for (int j = 0; j < N - i - 1; j++)
// 把最大值往右冒
void BullutSort_1(int* arr, int N) {
for (int i = N; i > 1; i--) {
for (int j = 0; j < i - 1; j++) {
//在这里我把索引根据原理意象化了,i表示边界索引,j表示正在冒泡的值的索引
//若为方便编写可直接 外循环(N - 1)次 内循环 (N - i - 1)次
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
//把最小值往左冒
void BullutSort_2(int* arr, int N) {
for (int i = 0; i < N ; i++) {
for (int j = N - 1; j > i ; j--) {
if (arr[j] < arr[j - 1]) {
int temp = arr[j];
arr[j] = arr[j - 1];
arr[j - 1] = temp;
}
}