c语言中冒泡法是什么意思?

如题所述

冒泡法是一种排序方法

冒泡法  5 4 3 2 1
  比如上面这5个数字我们把它按照由小到大的顺序排列,
  从前往后相临两位比较大小,如果前一位比后一位大就把它俩
  换位,5比4大就把5和4换位,得到45321
  5又比3大 5和3换位 得到43521 依次类推最后得到
  43215 这样就把最大的一个数字移到最后面了
  然后不看5 ,剩下4321 再用上面的方法把4移动到最后
  得到 32145 在不看45 剩下321 把3移动到
  最后,依此类推。
  最终得到12345
  这就是冒泡法,是计算机编程排序中最简单快捷的方法。
  除此意外我还能写出许多排序方法,但是效率上都不如冒泡法
  至于为什么叫冒泡法呢,你把这几个数字竖起来看
  1
  2
  3
  4
  5
  把最大的数字5看成最大的泡泡,浮到最上,然后4又浮上去,依此类推
  得到
  5
  4
  3
  2
  1
  所以形象的称为冒泡法
  ——————————————————————————————————
  以下是C语言中十个数的冒泡法排序的代码
  #include<stdio.h>
  #include<conio.h>
  int main(void)
  {
  long arrary[9],
  box=0L;
  int i1=0,
  i2=0;
  for(i1=0;i1<9;i1++)
  arrary[i1]=0;
  printf("输入数组元素:\n");
  for(i1=0;i1<=9;i1++)
  {
  printf("%3d>",i1+1);
  scanf("%d",&arrary[i1]);
  }
  for(i1=0;i1<=9;i1++)
  for(i2=0;i2<=9-i1;i2++)
  {
  if(arrary[i2]<arrary[i2+1])
  {
  box=arrary[i2+1];
  arrary[i2+1]=arrary[i2];
  arrary[i2]=box;
  }
  }
  printf("\n排序后为:\n");
  for(i1=0;i1<=9;i1++)
  printf("%3d>%d\n",i1+1,arrary[i1]);
  getch();
  return 0;
  }
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-01-08
冒泡法是一种排序方法
冒泡法  5
4
3
2
1
  比如上面这5个数字我们把它按照由小到大的顺序排列,
  从前往后相临两位比较大小,如果前一位比后一位大就把它俩
  换位,5比4大就把5和4换位,得到45321
  5又比3大
5和3换位
得到43521
依次类推最后得到
  43215
这样就把最大的一个数字移到最后面了
  然后不看5
,剩下4321
再用上面的方法把4移动到最后
  得到
32145
在不看45
剩下321
把3移动到
  最后,依此类推。
  最终得到12345
  这就是冒泡法,是计算机编程排序中最简单快捷的方法。
  除此意外我还能写出许多排序方法,但是效率上都不如冒泡法
  至于为什么叫冒泡法呢,你把这几个数字竖起来看
  1
  2
  3
  4
  5
  把最大的数字5看成最大的泡泡,浮到最上,然后4又浮上去,依此类推
  得到
  5
  4
  3
  2
  1
  所以形象的称为冒泡法
  ——————————————————————————————————
  以下是C语言中十个数的冒泡法排序的代码
  #include<stdio.h>
  #include<conio.h>
  int
main(void)
  {
  long
arrary[9],
  box=0L;
  int
i1=0,
  i2=0;
  for(i1=0;i1<9;i1++)
  arrary[i1]=0;
  printf("输入数组元素:\n");
  for(i1=0;i1<=9;i1++)
  {
  printf("%3d>",i1+1);
  scanf("%d",&arrary[i1]);
  }
  for(i1=0;i1<=9;i1++)
  for(i2=0;i2<=9-i1;i2++)
  {
  if(arrary[i2]<arrary[i2+1])
  {
  box=arrary[i2+1];
  arrary[i2+1]=arrary[i2];
  arrary[i2]=box;
  }
  }
  printf("\n排序后为:\n");
  for(i1=0;i1<=9;i1++)
  printf("%3d>%d\n",i1+1,arrary[i1]);
  getch();
  return
0;
  }
第2个回答  2013-07-16
冒泡法是排序的一种方法,冒泡法和冒泡排序实是一个定义.之所以叫冒泡法,即是像在水中的气泡一样,在一轮两数比较之后将最小(或最大的数字)排在一列数的左边(当然右边也行,总之是一边).然后排开这个数,经过N-2排开之后,整列数的大小就是按顺序来的.
第3个回答  2013-07-16
交换排序的一种,很适合C语言初学者学习~详细信息请参照数据结构中的排序~
第4个回答  2013-07-16
用来排序!
相似回答