冒泡排序
void swap( int *i, int *j){
int temp = *i;
*i = *j;
*j = temp;
}
void BubbleSort(int *a)
{
for (int i = 0; i < MAXSIZE; i++) {
for (int j = MAXSIZE - 1; j >= i; j--) {
if(a[j] < a[j-1])
swap(&a[j], &a[j-1]);
}
}
}
时间复杂度为O(n^2)
选择排序
void SelectSort(int *a)
{
int min;
for (int i = 0; i < MAXSIZE; i++) {
min = i;
for (int j = i + 1; j < MAXSIZE; j++) {
if(a[min] > a[j])
min = j;
}
if(min != i)
swap(&a[i], &a[min]);
}
}
时间复杂度O(n^2) 比冒泡性能要好
插入排序
void InsertSort(int *a)
{
for (int i = 1; i < MAXSIZE; i++) {
if(a[i] < a[i-1]){
int temp = a[i];
int j = i - 1;
for (; a[j] > temp && j >= 0; j--) {
a[j+1] = a[j];
}
a[j+1] = temp;
}
}
}
时间复杂度O(n^2) 但是比上面两个性能要好