C语言中常用三种排序方法
来源:互联网 发布:秦国 军国主义 知乎 编辑:程序博客网 时间:2024/06/05 03:30
#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));
}
- C语言中常用三种排序方法
- 常用排序方法(C语言)
- C语言常用的三种排序方法总结与探讨
- 【C语言】冒泡法排序的三种实现方法
- 二级c语言之常用的几种排序方法
- C语言常用排序
- C语言常用的排序方法:冒泡排序,插入排序,快速排序,堆排序,希尔排序
- C语言中常用计时方法总结
- C语言中常用的计时方法
- C语言中常用计时方法总结
- C语言中常用计时方法总结
- C语言中常用计时方法总结
- C语言中常用"计时"方法总结
- C语言中常用计时方法总结
- C语言中常用计时方法总结
- C语言四种常用排序
- C语言实现4种常用排序
- C语言几种常用排序
- android viewlist
- Google Analytics——10条有用教程
- 关于各种无法解析的外部符号问题的相应解决方案
- 闲扯几句写作与阅读
- MySQL中两种索引Hash与B-Tree的区别
- C语言中常用三种排序方法
- android IPC---Binder
- hdu 1312 Red and Black <java>
- struts-2.3.4.1源码 导入eclipse工程
- session 性能优化
- python中文分词
- C#名词解释
- JPG和RAR结合并转换技术
- CSS了解单位em和px的区别