冒泡:
#include<iostream>
using namespace std;
void bubble(int arr[],int n)
{
for(int i=0;i<n-1;i++)
{
if(arr[i]>arr[i+1])
{
int t=arr[i];
arr[i]=arr[i+1];
arr[i+1]=t;
}
}
}
void bubbleSort(int arr[],int n)
{
int i;
for(i=n;i>=1;i--)
{
bubble(arr,i);
}
}
int main()
{
int i;
int arr[]={6,2,3,5,16,4,7,0};
bubbleSort(arr,8);
for(i=0;i<8;i++)
cout<<arr[i]<<endl;
return 0;
}
选择:
#include<iostream>
using namespace std;
int findMaxPos(int arr[],int n)
{
int pos=0;
int max=arr[0];
for(int i=0;i<n;i++)
{
if(arr[i]>max)
{
max=arr[i];
pos=i;
}
}
return pos;
}
void selectionSort(int arr[],int n)
{
while(n>1)
{
int pos=findMaxPos(arr,n);
int t=arr[pos];
arr[pos]=arr[n-1];
arr[n-1]=t;
n--;
}
}
int main()
{
int arr[]={2,1,4,12,5,53};
selectionSort(arr,6);
for(int i=0;i<6;i++)
{
cout<<arr[i]<<endl;
}
return 0;
}
插入:
#include<iostream>
using namespace std;
void insert(int arr[],int n)
{
int key=arr[n];
int i=n;
while(arr[i-1]>key)
{
arr[i]=arr[i-1];
i--;
if(i==0)break;
}
arr[i]=key;
}
void insertSort(int arr[],int n)
{
for(int i=1;i<n;i++)
{
insert(arr,i);
}
}
int main()
{
int arr[]={2,1,4,12,5,53};
insertSort(arr,6);
for(int i=0;i<6;i++)
{
cout<<arr[i]<<endl;
}
return 0;
}