冒泡---经典排序算法

    技术2026-08-20  23

    算法设计:

    首先将第一个记录的关键字和第二个记录的关键字进行比较,若为逆序,则交换

    比较第二个和第三个记录的关键字,以此类推

    直到第n - 1个记录和第n个记录关键字进行过比较为止。

     

    时间复杂度: O(n*n)

    空间复杂度: O(1)

     

    #include "stdafx.h" #include <iostream> using namespace std; void BubbleSort(int a[], int N) { int i, j, flag = 1,temp; for (i = 0; (i < N - 1) && flag; i++) { flag = 0; for(j = 0; j < N - i - 1; j++) if (a[j] > a[j + 1]) { temp = a[j]; a[j] = a[j + 1]; a[j + 1] = temp; flag = 1; } } } int _tmain(int argc, _TCHAR* argv[]) { int a[] = {5,6,4,9,1,3,2,7,8}; int lena = sizeof(a) / sizeof(a[0]); BubbleSort(a, lena); for (int i = 0; i < lena; i++) cout << a[i] << " "; return 0; }

    最新回复(0)