您当前的位置:首页>>编程相关>>正文
 
冒泡排序
作者: 来源:博客园 日期:2013/7/16 16:33:18  点击次数:

#include <stdio.h>

void swap(int *a,int *b)
{
 int temp;
 temp=*a;
 *a=*b;
 *b=temp;

}

/************/
/* 升序            */
/************/
//小的往上冒泡
void maopaosort(int a[],int n)
{
 for (int i=0;i<n-1;i++)
 {
  for (int j=n-1;j>i;j--)
  {
   if (a[j]<a[j-1])
   {
    swap(&a[j],&a[j-1]);
   }
  }
 }
}

//大的往下沉
void maopaosort2(int a[],int n)
{
 for (int i=0;i<n-1;i++)
 {
  for (int j=0;j<n-i-1;j++)
  {
   if (a[j]>a[j+1])
   {
    swap(&a[j],&a[j+1]);
   }
  }
 }
}

/************/
/* 降序            */
/************/

void maopaosort3(int a[],int n)
{
 for (int i=0;i<n-1;i++)
 {
  for (int j=n-1;j>i;j--)
  {
   if (a[j]>a[j-1])
   {
    swap(&a[j],&a[j-1]);
   }
  }
 }
}


void printfary(int a[],int n)
{
 int i=0;
 for (;i<n;i++)
 {
  printf("%d   ",a[i]);
 }
 printf("\n");
}

int main()
{
 int a[4];
 printf("Please enter the Numbers:  \n");
 for (int i=0;i<4;i++)
 {
 
  printf(" NO. %d  : ",i+1);
  scanf("%d",&a[i]);
 }
 printf("Before ordering: \n");
 printfary(a,4);

 maopaosort(a,4);
 printf("Ascending order: \n");
 printfary(a,4);

 maopaosort2(a,4);
 printf("Ascending order: \n");
 printfary(a,4);

 maopaosort3(a,4);
 printf("In descending order: \n");
 printfary(a,4);

 return 0;
}

 运行结果:

 


上一篇:四个流行的Java连接池
下一篇:没有了
  北京总部: 4006-505-646
  天 津 部: 4006-505-646
  上 海 部: 4006-505-646
  深 圳 部: 4006-505-646
  广 州 部: 4006-505-646
  重 庆 部: 4006-505-646
  南 京 部: 4006-505-646
  其它地区: 4006-505-646
经典案例
中国石油管理局-Oracle数据库恢
中国网通-IBM EXP300磁盘阵列数
大连鸿德经贸有限责任公司-SQL
中国地质环境监测院-HP LH3000
藁城市东街百货-EFS文件解密成
工商银行某省分行-AIX删除LV数
中央电视台新闻评论部-苹果分
promise乔鼎硬盘阵列数据恢复成
麒麟童文化-苹果分区无法打开,
NAS 8100服务器数据恢复成功 
解决方案
raid磁盘阵列OFFLINE后的应急方
磁盘未被格式化,是否格式化数据
误GHOST、误一键恢复灾难应急方
误删除、误格式化数据灾难应急
LINUX FSCK数据出错灾难应急方
北亚数据恢复 - 联系我们 - 关于北亚 - 友情链接 - 网站地图 - RSS聚合 
版权所有 北亚数据恢复中心
全国统一客服热线:4006-505-646
北京总部:北京市海淀区永丰基地丰慧中路7号新材料创业大厦B座205室
t=>