平时需要排序的时候二选一,要非常熟练,用动图去理解代码
冒泡排序
void bubbleSort(int arr[],int Len)
{
int i,j;
int temp;
for(i = 0;i < Len-1;i++)
{
for(j = 0;j < Len-1-i;j++)
if(arr[j] > arr[j+1])
{
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
选择排序
void selectSort(int arry[], int len)
{
int i,j;
for (i = 0;i < len-1;i++)
{
int min = i;//假设第一个元素是最小的
for (j = i+1; j < len;j++)
if (arry[j] < arry[min])
min = j;//保存最小元素的下标
if (min != i) //交换
{
int temp = arry[min];
arry[min] = arry[i];
arry[i] = temp;
}
}
}