1.冒泡排序
#include<iostream>
using namespace std;
int main(){
int i,j,temp;
int a[10];
for(i=0;i<10;i++)
scanf ("%d,",&a[i]);
for(j=0;j<10;j++){
for (i=0;i<10-j;i++)
if (a[i]>a[i+1]){
temp=a[i];
a[i]=a[i+1];
a[i+1]=temp;}
}
for(i=0;i<10;i++)
printf("%5d ",a[i]);
return 0;}
2.选择排序
#include<stdio.h>
void sort(int array[],int n)
{int i,j,k,t;
for(i=0;i<n-1;i++)
{k=i;
for(j=i+1;j<n;j++)
if(array[j]<array[k])
k=j;
t=array[k];array[k]=array[i];array[i]=t;
}
}
int main(){
int a[10];
int i,j;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
sort(a,10);
for(i=0;i<10;i++)
printf("%d\n",a[i]);
return 0;
}
3.插入排序
#include<stdio.h>
void InsertSort(int* pDataArray, int iDataNum)
{
for (int i = 1; i < iDataNum; i++)
{
int j = 0;
while (j < i && pDataArray[j] <= pDataArray[i])
j++;
if (j < i)
{ int k = i;
int temp = pDataArray[i];
while (k > j)
{ pDataArray[k] = pDataArray[k-1];
k--;
}
pDataArray[k] = temp;
} } }
int main(){
int a[10];
int i,j;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
InsertSort(a,10);
for(i=0;i<10;i++)
printf("%d\n",a[i]);
return 0;
}
4.快速排序
#include<iostream>
using namespace std;
void quicksort(int v[], int left, int right){
if(left < right){
int key = v[left];
int low = left;
int high = right;
while(low < high){
while(low < high && v[high] > key){
high--;
}
v[low] = v[high];
while(low < high && v[low] < key){
low++;
}
v[high] = v[low];
}
v[low] = key;
quicksort(v,left,low-1);
quicksort(v,low+1,right);
}
}
int main(){
int a[10];
int i,j;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
quicksort(a,0,9);
for(i=0;i<10;i++)
printf("%d ",a[i]);
printf("\n");
return 0;
}