排序與查找之冒泡排序篇(C語言實現)

在進行冒泡排序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;
}
相關文章
相關標籤/搜索