排序算法
写出对数组12,23,8,15,33,24,77,55进行一趟选择排序、冒泡排序、插入排序、快速排序的过程和结果,提交过程和结果截图。参考教材内容,自己绘图。
对一列数字排序
- 代码
include <stdio.h>
int main ()
{
int n;
scanf("%d",&n);
int a[n-1];
for(int i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(int i=0;i<n;i++)
{
printf("%d ",a[i]);
}
}
一.选择排序---从所有记录中选出最小的一个数据元素与第一个位置的元素交换,然后再在剩下的记录中找最小的与第二个位置的记录交换,直至剩下最后一个元素为止
- 过程
- 结果
8,12,15,23,24,33,55,77
二.冒泡排序---从数组的最后一个元素开始,比较相邻的元素对,如果下面的元素小于上面的元素,就交换这两个元素,最终最小的元素会冒到数组的顶部
- 过程
- 结果
8,12,15,23,24,33,55,77
三.插入排序---从第二个记录开始,每步将一个待排序的记录按其排序码的大小插入到前面已经排序的文件中的适当位置
- 过程
- 结果:
8,12,15,23,24,33,55,77
四.快速排序---又称分区交换排序,是对冒泡排序的改进,通常选取第一个记录作为分区标准,把所有小于标准的记录移到左边,大于的移到右边,然后对前后两个子序列重复上述过程直至排好
- 过程
- 结果:
8,12,15,23,24,33,55,77