1.选择排序
简单选择排序是指对一个序列A中的元素A[1]-A[n],令i从1到n进行枚举,进行n趟操作,每趟
从待排序部分[i,n]中选择最小的元素,令其与待排序部分的第一个元素进行交换。
代码如下:
void selectSort()
{
for(int i=1;i<=n;i++)
{
int k=i;
for(int j=i;j<=n;j++)
{
if(A[j]<A[i])
k=j;
}
int temp=A[i];
A[i]=A[k];
A[k]=temp;
}
}
2.插入排序
直接插入排序是指对序列A的n个元素A[1]-A[n],令i从2到n进行n-1趟操作。假设某一趟时,
序列A的前i-1个元素已经有序,而范围[i,n]还未有序,那么该趟从范围[1,i-1]中寻找某个位置j,
使得将A[i]插入位置j后范围[1,i]有序。
代码如下:
int A[maxn],n;
void insertSort()
{
for(int i=2;i<=n;i++)
{
int temp=A[i],j=i;
while(j>1&&temp<A[j-1])
{
A[j]=A[j-1];
j--;
}
A[j]=temp;
}
}
07-22
07-22
07-22
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交