在進行冒泡排序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; }