CPP氣泡排序,插入排序,快速排序,等

2021-07-02 06:32:40 字數 1749 閱讀 8066

#include

#include

#include

#include

#include

#include

using namespace std;

class person

person(const char *n, int age, const char *ad) :name(n), age(age), addr(ad){}

~person(){}

string getname()

friend bool operator <(const person &a, const person &b)

friend bool operator==(const person &a, const person &b)

friend ostream& operator<<(ostream& out, const person &a)

};/*

@@冒泡法1

*/void bubblesort1(person a, int n)}}

}/*@@冒泡法2,一次迴圈

*/void bubblesort2(int *a, int n)

}--n;

} while (changed);}/*

@@插入排序

@@從後向前找

*/void insertsort(int *a, int n)

*(a + j) = temp;}}

/*@@選擇排序

*/void selectionsort(int *a, int n)

if (i != temp)}}

/*@@快速排序

*/void qsort(int *a, int low, int high)

a[first] = a[last];//將比第乙個數小的數移動到第乙個位置

while (first < last && a[first] <= key)

a[last] = a[first];

}a[first] = key;//中間值

qsort(a, low, first - 1); 

qsort(a, first + 1, high);

}void main()

;bubblesort1(a, 6);

for (int i = 0; i < 6; i++)

int b = ;

/*for (int i = 0; i < 10; i++)

*/int len = sizeof(b) / sizeof(int);

cout << len << endl;

for (int i = 0; i < 10; i++)

cout << endl;

//引用標頭檔案#include

//計算cpu時間,注意計算公式:double(end - begin) / clocks_per_sec  //其中clocks_per_sec == 1000

time_t begin, end;

begin = clock();

qsort(b, 0, len-1);

end = clock();

cout << double(end - begin) / clocks_per_sec << endl;

for (int i = 0; i < 10; i++)

cout << endl;

system("pause");

}

氣泡排序,快速排序,插入排序

一 氣泡排序 大致分兩步 1 依次對比相鄰2個數字,前者比後者大就調換位置 2 重複第一步操作,直到所有數字都按順序排列 function bubblesort arr return arr 二 快速排序大致分三步 1 找基準 一般是以中間項為基準 2 遍歷陣列,小於基準的放在left,大於基準的放...

快速排序,氣泡排序,插入排序,希爾排序

快速排序 氣泡排序 插入排序 插入排序是最簡單最直觀的排序演算法,它的依據是 遍歷到第n個元素的時候前面的n 1個元素已經是排序好的了,那麼就查詢前面的n 1個元素把這第n個元素放在合適的位置,如此下去直到遍歷完序列的元素為止.演算法的複雜度也是簡單的,排序第乙個需要1的複雜度,排序第二個需要2的複...

氣泡排序 選擇排序 插入排序 快速排序

include 氣泡排序,思想 從最末位開始 往前一位一位比較,比前一位小的話,就交換位置 兩個for,第乙個for迴圈用於記錄已排序的位置,第二個for迴圈用於已排序位置到結束位置之間的氣泡排序 void popsort int p int n 選擇排序,由前往後選擇最小的數。一輪比較完後,將最小...