冒泡排序
冒泡排序的思路是将每两个数据之间进行大小比对,将大的数据后移,反复比对移动数据,直至数组排列整齐
![在这里插入图片描述](https://img-blog.csdnimg.cn/37ea074719784a62b6ee9c8460ac54ff.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBASGVhbHRoLUxLSw==,size_15,color_FFFFFF,t_70,g_se,x_16)
#include<stdio.h>
int main()
{
int arr[10] = {5,1,8,9,7,4,2,3,0,6};
int flag = 0;
for (int i = 0; i < 10; i++)
{
flag = 0;
for (int j = 0; j<10-i-1; j++)
{
if (arr[j] > arr[j + 1])
{
int tmp = 0;
tmp = arr[j + 1];
arr[j + 1] = arr[j];
arr[j] = tmp;
flag++;
}
}
if (flag == 0)
break;
}
for (int i = 0; i < 10; i++)
{
printf("%d ", arr[i]);
}
return 0;
}
选择排序
选择排序的思想是将一行中所有元素和第一个元素对比,将最小的元素放在起点,再同理将一行中所有元素和第2个元素对比,将第二小的元素排在第二位,最后一直排到倒数第二位
![在这里插入图片描述](https://img-blog.csdnimg.cn/e34fedd1440e427da98a4fc9de17a65b.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBASGVhbHRoLUxLSw==,size_16,color_FFFFFF,t_70,g_se,x_16)
#include<stdio.h>
int main()
{
int arr[10] = { 5,1,8,9,7,4,2,3,0,6 };
int min = 0;
for (int i = 0; i < 9; i++)
{
for (int j = i+1; j <10; j++)
{
if (arr[j] < arr[i])
{
int tmp = 0;
tmp = arr[j];
arr[j] = arr[i];
arr[i] = tmp;
}
}
}
for (int i = 0; i < 10; i++)
{
printf("%d ", arr[i]);
}
return 0;
}