大家好,今天小编关注到一个比较有意思的话题,就是关于c语言冒泡排序10个数的问题,于是小编就整理了3个相关介绍c语言冒泡排序10个数的解答,让我们一起看看吧。
用计算机C语言编程,程序设计题:从键盘输入十个数,将他们进行降序排列。求解答需要详细过程,谢谢?
#include<stdio.h>
{
int a[10],i,j,tmp,n=10;
//循环输入
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
//冒泡排序
C语言中什么叫气泡法排序?
气泡法排序(Bubble Sort)是一种基本的排序算法,也称为冒泡排序。它的工作原理是通过重复地交换相邻的元素,将最大(或最小)的元素逐渐“冒泡”到数列的末尾。具体步骤如下:
2. 如果前一个元素大于后一个元素,则交换这两个元素的位置。
3. 继续比较下一对相邻元素,重复步骤2,直到比较到倒数第二个元素。
4. 重复步骤1-3的过程,每一轮比较都会将最大的元素“冒泡”到末尾。
5. 重复进行上述步骤,直到整个数组按照升序(或降序)排列。
气泡法排序的时间复杂度为O(n²),在最坏情况下需要进行n-1轮比较,每轮比较需要n-1次交换操作。尽管它的效率相对较低,但它是一种简单直观的排序算法,适用于小规模的数据排序。
冒泡排序的例子?
快速排序:quicksort:找数组中一个数,把比他大的放到左边,比他小的放到右边,然后用递归排他左右边的,直到排完,复杂度O(nlgn)。
4,2,1,6,5.开始选4-2,1,4,6,5,再在2,1里选2-1,2,在6,5里选6-5,6这样就完了1,2,4,5,6.
冒泡排序:bubblesort:简单的方法,从第一个数开始,依次和后面比较,比后面大就往后移动,直到排完,举例:5,1,2,3,4.先看5-1,5,2,3,4-1,2,5,3,4-1,2,3,5,4-1,2,3,4,5.这例子特殊,一下排完,事实上复杂度为O(n*n);
插入排序:insertionsort:简单的方法,和打牌时排序一样,复杂度O(n*n)
1,3,2,4,7,5-1,2,3,4,7,5-1,2,3,4,5,7.
堆:heapsort:和树比较像,有根大枝小或根小枝大的特点,很难讲明白,时间复杂度为O(n*lgn)
建议看《算法导论》,或《programmingpearls》很清楚。
到此,以上就是小编对于c语言冒泡排序10个数的问题就介绍到这了,希望介绍关于c语言冒泡排序10个数的3点解答对大家有用。