#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 選擇排序,由前往後選擇最小的數。一輪比較完後,將最小...