您的位置:首页 > 编程语言 > C语言/C++

C语言中常用三种排序方法

2012-10-19 14:35 295 查看
#include<stdio.h>

int tab[8]={2,1,4,3,6,7,9,5};

void Mao_Pao(int* tab,int n)

{

int i,j;

for(i=0;i<n-1;i++)

for(j=i+1;j<n;j++)

{

if(tab[i]>tab[j])

{

tab[i]=tab[i]^tab[j];

tab[j]=tab[i]^tab[j];

tab[i]=tab[i]^tab[j];

}

}

for(i=0;i<n;i++)

printf("tab[%d]=%d\n",i,tab[i]);

}

void Mao_Pao1(int* tab,int n)

{

int i,j;

for(i=0;i<n-1;i++)

for(j=0;j<n-1-i;j++)

{

if(tab[j]>tab[j+1])

{

tab[j]=tab[j]^tab[j+1];

tab[j+1]=tab[j]^tab[j+1];

tab[j]=tab[j]^tab[j+1];

}

}

for(i=0;i<n;i++)

printf("tab[%d]=%d\n",i,tab[i]);

}

void Mao_Pao2(int* tab,int n)

{

int i=0,j=0,k=0;

for(i=0;i<n-1;i++)

{

k=i;

for(j=i+1;j<n;j++)

if(tab[j]<tab[k])

k=j;

if(k!=i)

{

tab[k]=tab[k]^tab[i];

tab[i]=tab[k]^tab[i];

tab[k]=tab[k]^tab[i];

}

}

for(i=0;i<n;i++)

printf("tab[%d]=%d\n",i,tab[i]);

}

void main()

{

Mao_Pao(tab,sizeof(tab)/sizeof(int));

Mao_Pao1(tab,sizeof(tab)/sizeof(int));

Mao_Pao2(tab,sizeof(tab)/sizeof(int));

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: