选排
#include <iostream>
using namespace std;
int main()
{
int arr[]={5,3,2,6,4,1,7,4,9,8};
int length = sizeof(arr) / sizeof(int);
cout << length << endl;
int minpos=0;
for(int k=0;k<length;k++)
{
minpos=k;
for (int i = k+1; i < length; i++)
{
if(arr[i]<arr[minpos])
{
minpos=i;
}
}
int temp=arr[k];
arr[k]=arr[minpos];
arr[minpos]=temp;
cout<<"第"<<k<<"位最小的数为"<<arr[k]<<endl;
}
for(int n=0;n<length;n++)
{
cout<<arr[n]<<endl;
}
return 0;
}
``
冒泡
#include <iostream>
using namespace std;
int main()
{
int arr[]={5,3,2,6,4,1,7,9,8};
int length = sizeof(arr) / sizeof(int);
for (int i = 0; i < length; ++i)
{
for (int k = i+1; k < length-1; k++) {
if(arr[i]>arr[k])
{
int temp=arr[i];
arr[i]=arr[k];
arr[k]=temp;
}
}
}
for (int j = 0; j < length; j++) {
cout<<arr[j]<<" ";
}
}
插排
#include <iostream>
using namespace std;
int main()
{
int arr[]={5,3,2,6,4,1,7,9,8};
int length = sizeof(arr) / sizeof(int);
for (int i = 1; i < length; ++i)
{
for (int k = i; k > 0 ; k--)
{
if(arr[k]<arr[k-1])
{
int temp=arr[k];
arr[k]=arr[k-1];
arr[k-1]=temp;
}
}
}
for (int j = 0; j < length; j++) {
cout<<arr[j]<<" ";
}
}