不懂冒泡法,求大神指教

29fd
浏览 1252回答 2
2回答

JustWannaHugU

/*冒泡排序哪里不懂?原理是:1、比较相邻的元素。如果第一个比第二个大,就交换他们两个。2、对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。3、针对所有的元素重复以上的步骤,除了最后一个。(循环实现)4、持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。 */  #include <stdio.h>  #include<windows.h>  #define N 10   int main(void) {    int array[N];    int temp;    printf("输入10个数字:");   for(int i=0;i<N;i++)            { scanf("%d",&array[i]);}   for(int i=0;i<N-1;i++)     //核心代码       {         for(int j=0;j<N-i-1;j++)           {            if(array[j]>array[j+1])//利用temp临时变量来作为中介,使后一个数比前一个大              {                  temp=array[j];                  array[j]=array[j+1];                  array[j+1]=temp;                }          }        }    printf("排序后:\n");  for(int i=0;i<N;i++)         {      printf("%d ",array[i]);    }  printf("\n");  system("pause"); } 满意请采纳!
打开App,查看更多内容
随时随地看视频慕课网APP