//各种排序算法的实现
//容易
//2020/4/12
#include <cstdio>
#include<cstdlib>
#define MaxSize 100
typedef int ElemType;
typedef struct SqList
{
int data[MaxSize];
int length;
}SqList;
//简单选择排序
//对一个序列a中的元素按从小到大进行选择排序
void selectsort(int a[])
{
int j,i,n;
printf("请输入要使用简单选择排序的序列长度\n");
scanf("%d",&n);
for(i=0;i<n;i++)
{
int k=i;
for(j=i;j<n;j++)
{
if(a[j]<a[k]) //选出[i,n-1]中最小的元素,下标为k
{
k=j;
}
}
int temp=a[i]; //将较小值进行交换
a[i]=a[k];
a[k]=temp;
}
}
//直接插入排序
//对一个顺序表L作直接插入排序
void insert_sort(SqList &L)
{
int i,j;
for(i=2;i<L.length;i++)
{
if(L.data[i]<L.data[i-1])//说明需要将L.data[i]插入到前面的有序子表
冒泡排序,简单选择排序,直接插入排序,归并排序,快速排序算法
最新推荐文章于 2022-03-14 17:44:12 发布