直接放**好了,**還是要多動手試一下才印象深一點
#include//氣泡排序
void bubblesort (int a, int len)//時間複雜度o(n²)
}}//插入排序
void insertsort(int a,int len)//插入排序--找到前面比自己大的數,進行位置交換--時間複雜度θ(n²)
a[j] = temp;
}}//希爾排序
void shellsort(int a,int len)//插入排序的變式,分組進行插入排序
else
break;
}a[j] = temp;}}
}//堆排序,對於堆這方面有點欠佳,貼鏈結算了[覺得這個寫得挺好的](
void swap(int *a, int *b)
void adjustheap(int *arr, int i, int len)
swap(&arr[i], &arr[j]);
//交換之後還要考慮該目前j結點與自己的孩子結點的數值比較,還要進行調整,將i當前結點換成j結點所在位置
i = j;
j = 2*i+1;
}}void makeheap(int *arr, int n)
}void heapsort(int *arr, int len)
}//快速排序
//歸併排序
int main()
; //結束符號需要佔一位
insertsort(a,6);
for(int i=0; i<6; i++)
}
總是會忘記就很煩,集合一下加強印象 總結一下常見的幾種排序
1 插入排序 public void insertsort int a 時間複雜度o n 2 沒有多餘的空間開銷,雖然複雜度為平方級別,但在陣列為近似有序的情況下效率非常高,有時在歸併和快排的的子串行中可以使用插入排序,一般能提公升20 30 的效率。2 希爾排序 希爾排序可以理解為插入排序的改進,...
回顧一下這段時間
自從小兒子出生以來,每天睡眠不好,加上年底雜事比較多,好久沒有看專業書籍,也沒有寫部落格了。這是病,得改,任何事情都貴在堅持。最近對專案管理和質量管理進行了一些實操性質的研究,實際就是考慮怎麼把規範 標準 體系的要求落實到具體的日常工作中去。下面是一些老生常談 1 流程要梳理清晰。各項工作用的表單,...
getopt 簡單回顧一下
getopt 解析命令的可選項 說明 getopt只是乙個簡單的解析命令可選項的函式,只能進行簡單的格式命令解析,格式如下 1 形如 cmd a b 對短選項的解析 2 形如 cmd a a argument b b argument 對短選項及短選項的引數解析 3 形如 cmd a a argum...