冒泡排序
//冒泡排序
void BubbleSort(int A[], int n) {
for (int i = 0; i < n - 1; i++) {
bool flag = false;//表示本趟冒泡是否发生交换的标志
for (int j = n - 1; j > i; i--) {//一趟冒泡排序
if (A[j] < A[j - 1]) {//若为逆序
swap(A[j], A[j - 1]);//交换
flag = true;
}
}
if (flag == false)
return;//本趟遍历后没有发生交换。说明表已经有序
}
}
//交换
void swap(int& a, int& b) {
int temp;
temp = a;
a = b;
b = temp;
}
快速排序
//冒泡排序
void BubbleSort(int A[], int n) {
for (int i = 0; i < n - 1; i++) {
bool flag = false;//表示本趟冒泡是否发生交换的标志
for (int j = n - 1; j > i; i--) {//一趟冒泡排序
if (A[j] < A[j - 1]) {//若为逆序
swap(A[j], A[j - 1]);//交换
flag = true;
}
}
if (flag == false)
return;//本趟遍历后没有发生交换。说明表已经有序
}
}
//交换
void swap(int& a, int& b) {
int temp;
temp = a;
a = b;
b = temp;
}