文档详情

排序程序小结(冒泡排序、并归排序、插入排序等).doc

发布:2018-01-17约6.04千字共8页下载文档
文本预览下载声明
程序在VC6.0下运行测试通过,包含三个文件:sort_all.h排序类的定义; sort_real.cpp排序类成员函数定义;sort_main.h运行的主函数。 包括冒泡排序、并归排序、插入排序、选择排序、快速排序、堆排序、Shell排序 ——————sort_all.h文件—————————————————— #include iostream using namespace std; /****************************************/ class sort_all { public: void swap_i(int a, int b); void disp_array(int *array, int len); void disp_num(); void sort_maopao(int *array, int len); void sort_quick(int *array, int start, int end); void sort_merge(int * array, int start, int end); void sort_heap(int *array, int len); void sort_select(int *array, int len); void sort_insert(int *array, int len); void sort_shell(int *array, int len); }; 棗棗棗棗棗棗棗棗棗棗棗棗棗棗棗棗棗棗棗 棗棗棗棗sortespace std; /*********_real.cpp文件—————————————————————— #include sort_all.h void sort_all::disp_array(int *array, int len) { for(int i=0; ilen; i++) { cout array[i] ; } cout endl; } void sort_all::swap_i(int a, int b) { int temp; temp = a; a = b; b = temp; } void sort_all::disp_num() { cout ---冒泡排序,输入1--- \n; cout ---并归排序,输入2--- \n; cout ---插入排序,输入3--- \n; cout ---选择排序,输入4--- \n; cout ---快速排序,输入5--- \n; cout ----堆排序,输入6---- \n; cout --Shell排序,输入7--- \n; cout -----结束,输入0----- \n; } /**************************************************/ /**************堆排序 ******************************/ /**************************************************/ void heap_adj(int *array, int i, int len) { int nTemp; int nChild; for(nTemp = array[i]; 2*i+1len; i=nChild) { nChild = 2*i+1; if(nChildlen-1 array[nChild]array[nChild+1]) nChild ++; if(nChild len-1 array[nChild]nTemp) array[i] = array[nChild]; else break; array[nChild] = nTemp; } } void heap_create(int *array, int len) { for(int i=len/2; i=0; i--) heap_adj(array,i, len); } void sort_all::sort_heap(int *array, int len) { heap_create(array, len); for(int i=len-1; i0; i--) { swap_i(array[0], array[i]); heap_adj(array, 0, i); } } /******************************************************
显示全部
相似文档