#include<iostream>
#include<string>
using namespace std;
void SimpleSelectSort(int *pdata,int length)
{
int min=0;
for (int i=0;i<length;i++)//需要确定length个位置,每次确定一个位置
{
int min=i;
for (int j=i+1;j<length;j++) //在第i轮中,在length-i个数据中选择出最小的数的序号
{
if (pdata[min]>pdata[j])
{
min=j;
}
}
if (i!=min) //在第i个位置,放置选出的数
{
int temp=pdata[i];
pdata[i]=pdata[min];
pdata[min]=temp;
}
cout<<"the "<<i<<"round:"<<endl;
for(int i=0;i<6;i++)
cout<<pdata[i];
cout<<endl;
}
}
void InsertSort(int *pdata,int length)
{
int key;
for (int i=1;i<length;i++) //需要插入length-1次
{
key=pdata[i];
int j=i-1;
for (j;j>=0&&pdata[j]>key;j--) //从后向前寻找插入位置
{
pdata[j+1]=pdata[j];
}
pdata[j+1]=key;
cout<<"the "<<i<<"round:"<<endl;
for(int i=0;i<6;i++)
cout<<pdata[i];
cout<<endl;
}
}
int main()
{
int data[]={6,5,4,3,2,1};
int data2[]={1,2,3,4,5,6};
int data3[]={6,5,4,3,2,1};
SimpleSelectSort(data,6);
cout<<"----------------------------------"<<endl;
InsertSort(data3,6);
return 0;
}
简单选择排序-直接插入排序 C++
最新推荐文章于 2023-09-16 22:06:24 发布