在进行冒泡排序C语言实现以前,先介绍冒泡排序,只有真正理解了冒泡排序的算法,才能从本质上理解C语言的实现过程算法
冒泡排序原理:windows
冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的元素列,依次比较两个相邻的元素,若是他们的顺序(如从大到小、首字母从A到Z)错误就把他们交换过来。走访元素的工做是重复地进行直到没有相邻元素须要交换,也就是说该元素已经排序完成。线程
实现过程:一、比较相邻的元素。若是第一个比第二个大(小),就交换他们两个。code
二、对每一对相邻元素做一样的工做,从开始第一对到结尾的最后一对。这步作完后,最后的元素会是最大(小)的数。排序
三、针对全部的元素重复以上的步骤,除了最后已经选出的元素(有序)。get
四、持续每次对愈来愈少的元素(无序元素)重复上面的步骤,直到没有任何一对数字须要比较,则序列最终有序。it
下面对冒泡排序进行C语言实现:io
#include <stdio.h> #include <windows.h> #include <stdlib.h> int main(){ int data[]={1,6,2,3,4,11,21,13,74,25,37,46,8}; for(int i=1;i<13;i++){ for(int j=12;j>=i;j--){ if(data[j]>data[j-1]){ int t; t= data[j]; data[j] = data[j-1]; data[j-1] = t; } Sleep(1000); //线程休眠1s system("cls"); //清屏 for(int i=0;i<13;i++){ printf("%d ",data[i]); } } } return 0; }