第三週作業 氣泡排序和歸併排序

2021-06-21 06:03:50 字數 1397 閱讀 3457

#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()

一開始因為difftime函式的引數位置弄反了導致顯示時間為負數

氣泡排序:

歸併排序:

第三週作業 氣泡排序和歸併排序

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...