c语言气泡法数字排列5个数字大小:20513119?

如题所述

#include <stdio.h>

int main()

{ int n=5,i,j,t,a[5]= {20,5,13,11,9};

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

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

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

      { t=a[j];

        a[j]=a[j+1];

        a[j+1]=t;

      }

  }

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

    printf("%4d",a[i]);

  printf("\n");

  return 0;

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-12-09
没听过。只听过冒泡排序
冒泡排序属于一种典型的交换排序。
  交换排序顾名思义就是通过元素的两两比较,判断是否符合要求,如过不符合就交换位置来达到排序的目的。冒泡排序名字的由来就是因为在交换过程中,类似水冒泡,小(大)的元素经过不断的交换由水底慢慢的浮到水的顶端。
  冒泡排序的思想就是利用的比较交换,利用循环将第 i 小或者大的元素归位,归位操作利用的是对 n 个元素中相邻的两个进行比较,如果顺序正确就不交换,如果顺序错误就进行位置的交换。通过重复的循环访问数组,直到没有可以交换的元素,那么整个排序就已经完成了。
第2个回答  2021-12-09
没有听过过气泡排序,只有冒泡排序。
以下是C冒泡排序的一个例子:
#include <stdio.h>
void bubble_sort(int arr[], int len) {
int i, j, temp;
for (i = 0; i < len - 1; i++)
for (j = 0; j < len - 1 - i; j++)
if (arr[j] > arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
int main() {
int arr[] = { 22, 34, 3, 32, 82, 55, 89, 50, 37, 5, 64, 35, 9, 70 };
int len = (int) sizeof(arr) / sizeof(*arr);
bubble_sort(arr, len);
int i;
for (i = 0; i < len; i++)
printf("%d ", arr[i]);
return 0;
}
相似回答