冒泡排序原理:连续地扫描待排序的记录,每扫描一次,都会移动最大的记录,使之更接近于顶部。 它的最大有优点是简单,对于几乎排好序的文件执行的非常快,但它的常规性能很差。 #include "stdafx.h" #include<iostream> #include<iomanip> using std::setw; using std::cout; using std::endl; void bubble(int a[],int n) { int i,j,k; for(i=n-1;i>0;i--) { for(j=0;j<i;j++) { if(a[j+1]<a[j]) { k=a[j+1]; a[j+1]=a[j]; a[j]=k; } } } } int _tmain(int argc, _TCHAR* argv[]) { int arr[8]={47,33,61,82,72,11,25,47}; bubble(arr,8); return 0; } 冒泡排序的基本特征: 属于稳定排序在对于逆序记录排序时性能最差,但是对于几乎有序的记录排序时则具有线性的性能