一開始因為difftime函式的引數位置弄反了導致顯示時間為負數#include #include "stdafx.h"
#include #include #include #include using namespace std;
#define num_amount 10000000 //已知為1000000個資料
/*template int getarraylen(t& array)
*/int getdatafromfile(const char *filename,int *data) //將txt文件的數字存入data陣列
while(!largedata.eof())
largedata.close();
return index;
}void writetofile(const char * fileneme, int * data, int index) //將排序好的陣列資料寫入新的txt文件
for (int i = 0; i < index; i ++)
datafile.close();
}void bubblesort(int * array,int index) //氣泡排序法
cout << array[i] << endl;
} } void merge_array(int *list1, int list1_size, int *list2, int list2_size) //歸併排序演算法參考wiki
// 如果 list1 還有元素,把剩下的資料直接放到結果陣列
while (i < list1_size)
// 如果 list2 還有元素,把剩下的資料直接放到結果陣列
while (j < list2_size)
// 把結果陣列 copy 到 list1 裡
for (int ii = 0; ii < (list1_size + list2_size); ++ii) }
void merge_sort(int *list, int list_size)
}int main()
氣泡排序:
歸併排序:
第三週作業 氣泡排序和歸併排序
timer.h ifndef timer h define timer h include class timer endif timer.cpp include timer.h timer timer void timer resettimer double timer getelapsedtim...
演算法筆記(三) 氣泡排序和歸併排序
一 氣泡排序 氣泡排序的作用就是反覆交換相鄰未按次序排列的資料。1 氣泡排序實現,公升序版本 2def bubblesort data 3 例如 data 3,2,1 很明顯迴圈檢查 data 0 data 0 1 data 1 data 1 1 這2個表示式是否成立就行了4 不需要也不可能去檢查 ...
氣泡排序與歸併排序
方法一 思想是相鄰元素逐個比較,然後將最大的放在後面。每遍歷完一次,就會有乙個元素就位,所以時間複雜度為o n 2 public class linearrecur int low 0 int high b.length int index 0 bubblesort b,low,high for i...