是标准冒泡排序法
void bubbleSort(int size , int a[])
选择排序法
void selectSort(int size , int a[])
#include <stdio.h>
void bubbleSort(int size , int a[]);
void selectSort (int size , int a[]);
int main(int argc, const char * argv[]) {
// insert code here...
printf("Hello, World!\n");
int test[] = {25,15,85,64,3,54,96,21,2,32};
bubbleSort(10, test);
for (int i = 0; i < 10; i++) {
printf("test[%d] %d \n",i,test[i]);
}
return 0;
}
//冒泡
void bubbleSort(int size , int a[]){
int tmp;
for (int i = size - 1; i > 0; i-- ) {
for (int j = i - 1 ; j >=0 ; j --){
if (a[j] > a[i]) {
tmp = a[j];
a[j]=a[i];
a[i] = tmp;
}
}
}
}
//选择排序
void selectSort(int size , int a[]){
int maxIndex ;
int tmp;
for (int i = size - 1; i > 0; i-- ) {
maxIndex = i ;
for (int j = i - 1 ; j >=0 ; j --) {
if (a[j] > a[maxIndex]) {
maxIndex = j;
}
}
tmp = a[i];
a[i] = a[maxIndex];
a[maxIndex] = tmp;
}
}
优化后的 冒泡排序法
void bubbleSortOptimized(int size , int a[]){
int tmp;
bool isChange = false;
for (int i = size - 1; i > 0; i-- ) {
isChange = false;
for (int j = i - 1 ; j >=0 ; j --){
printf("i = %d j = %d \n",i,j);
if (a[j] > a[i]) {
isChange = true;
tmp = a[j];
a[j]=a[i];
a[i] = tmp;
}
}
if (isChange == false) {
break;
}
}
}