#include <stdio.h>
//冒泡排序
int bubble_Sort (int *arr, int size)
{
int i = 0;
int j = 0;
for (i = 0; i < size-1; i++) //最多比较size-1个数
{
for (j = 0; j < size-1-i; j++)
{
if (arr[j + 1] < arr[j])
{
int tmp = arr[j + 1];
arr[j + 1] = arr[j];
arr[j] = tmp;
}
}
}
}
int main ()
{
int arr[] = {1, 3, 8, 2, 6, 4, 7, 5};
int size = sizeof(arr)/sizeof(int);
bubble_Sort(arr, size);
for (i =0; i < size; i++)
{
printf("%d", arr[i]);
}
printf("\n");
return 0;
}
#include <stdio.h>
//选择排序
int choose_Sort (int *arr, int size)
{
int i = 0;
int j = 0;
for (i = 0; i < size-1; i++) //最多比较size-1个数
{
for (j = i+1; j < size; j ++)
{
if (arr[i] > arr[j])
{
int tmp = arr[j];
arr[j] = arr[i];
arr[i] = tmp;
}
}
}
}
int main ()
{
int arr[] = {1, 3, 8, 2, 6, 4, 7, 5};
int size = sizeof(arr)/sizeof(int);
choose_Sort(arr, size);
for (i =0; i < size; i++)
{
printf("%d", arr[i]);
}
printf("\n");
return 0;
}
qsort 排序
#include <stdio.h>
int cmp(const void *a, const void *b)
{
return *(int *)a > *(int *)b;
}
int main ()
{
int arr[] = {1, 3, 6, 2, 2, 5, 4};
qsort(arr, sizeof(arr)/sizeof(int), sizeof(*arr), cmp); //从小到大
//(数组名, 元素总个数, 单个元素内存, 比较)
}
#include <stdio.h>
int main ()
{
int i = 0;
int j = 0;
int m = 0;
int arr[] = {1, 3, 8, 2, 6, 4, 7, 5};
for (i = 0; i < 7; i++)
{
for (j = 0; j < 7 - i; j ++)
{
if (arr[j + 1] < arr[j])
{
int tmp = arr[j + 1];
arr[j + 1] = arr[j];
arr[j] = tmp;
}
}
}
for (m =0; m < 8; m++)
{
printf("%d", arr[m]);
}
printf("\n");
return 0;
}