#include<stdlib.h>
#include<stdio.h>
/*
起泡排序、冒泡排序
是稳定的排序
每一轮产生的子序列是全局有序,每一趟一定会保证一个最小元素排序成功
最好情况O(n) 前提条件是有序的
最坏情况O(n²)
平均时间O(n²)
*/
//冒泡排序 耿国华变动版 实现数组从下标0到length的全排序
void BubbleSort(int r[],int n){
bool change = true;
int x;
for (int i = 0;i < n - 1 && change;i++) {
change = false;
for(int j=0;j<n-i-1;j++)
if (r[j] > r[j + 1]) {
x = r[j];
r[j] = r[j + 1];
r[j + 1] = x;
change = true;
}
}
}
//耿国华版本 可运行但是不能实现从下标0的全排
void BubbleSort(int r[], int n) {
bool change = true;
int x;
for (int i = 1;i <=n - 1 && change;++i) {
change = false;
for (int j = 1;j <=n- i;++j)
if (r[j] > r[j + 1]) {
x = r[j];
r[j] = r[j + 1];
r[j + 1] = x;
change = true;
}
}
}
void main() {
int A[7] = {55,13,42,94,17,5,70 };
BubbleSort(A, 7);
for (int i = 0;i < 7;i++) {
printf("%d\n", A[i]);
}
system("pause");
}
交换排序——起泡排序、冒泡排序
最新推荐文章于 2022-08-03 14:37:00 发布