冒泡排序: 从前向后,两两比较,如果前面大于后面,则交换
void BubbleSort(int* arr, int len)
{
for (int i = 0; i < len - 1; i++) //控制层数
{
for (int j = 0; j < len - 1 - i; j++)
{
if (arr[j] > (arr[j + 1]))
{
int tmp = 0;
tmp = arr[j + 1];
arr[j + 1] = arr[j];
arr[j] = tmp;
}
}
}
for (int i = 0; i < len; i++)
{
printf("%d ", arr[i]);
}
printf("\n");
}
int main()
{
int arr[10] = { 5,8,94,64,46,15,44,81,19,54 };
int len = sizeof(arr) / sizeof(arr[0]);
BubbleSort(arr, len);
return 0;
}
选择排序:将每一轮待排序中最小值和待排序序列的第一个值进行交换
void Insert(int *arr ,int len)
{
int min = 0;
for (int i = 0; i < len - 1; i++) //控制层数
{
min = i;
for (int j=i+1;j<len;j++) 找到待排序序列的最小值所在的下标
{
if (arr[j] < arr[min])
{
min = j;
}
if (arr[j] !=arr[min])
{
int tmp = 0;
tmp = arr[i];
arr[i] = arr[min];
arr[min] = tmp;
}
}
}
for (int i = 0; i < len; i++)
{
printf("%d ", arr[i]);
}
}
int main()
{
int arr[10] = { 5,8,94,64,46,15,44,81,19,54 };
int len = sizeof(arr) / sizeof(arr[0]);
Insert(arr, len);
return 0;