冒泡排序
1 void Swap(ElementType *a, ElementType *b) 2 { 3 ElementType tmp = *a; 4 *a = *b; 5 *b = tmp; 6 } 7 8 //冒泡排序 9 void BubbleSort(ElementType A[], int N) 10 { 11 for(int p = N-1; p >= 1; --p) //一共有n-1趟冒泡 12 { 13 int flag = 0; 14 for(int i = 0; i < p; ++i) //一趟冒泡 15 { 16 if(A[i] > A[i+1]) 17 { 18 Swap(&A[i], &A[i+1]); 19 flag = 1; //标志发生了交换 20 } 21 } 22 if(flag == 0) //表示该趟全程无交换,说明已经有序 23 break; 24 } 25 }