第
一、插入排序
void insertsort( int *a, int len )}
第二、氣泡排序
void bubsort( int *a, int len ) }
} }
第三、shell排序
void shell( int *a, int len )
*(a+j+step) = temp ;}}
} 第
四、快速排序(1)
int divide( int a, int low, int high )
第五、快速排序(2)
其實只是分割槽方式不同而已,所以只列出分割槽函式。
int partition( int a, int low, int high )
}temp = a[i+1] ;
a[i+1] = a[high] ;
a[high] = temp ;
return (i+1) ;}
第六、歸併排序
void merge_twoarr( int *a, int *temp, int start, int mid, int end )
while( i<=mid )
temp[k++] = a[i++] ;
while( j<=end )
temp[k++] = a[j++] ;
for( i=start; i<=end; i++ )
a[i] = temp[i] ;}
void mergesort( int *a, int *temp, int start, int end )
{if( start
html css簡單複習
html 標籤語言。常用的標籤 標題標籤h1 h6 段落標籤p div ul li ol li a 表單標籤 form input 自定義標籤 彈性容器 設定了display flex 這個為彈性容器,裡面的子元素會按照彈性布局的方式進行布局。彈性子元素 設定了display flex的彈性容器直接...
演算法複習 分治演算法
先來看乙個經典的二分查詢例子。int binarysearch vector nums,int target return 1 時間複雜度是 o logn 我們看到,二分查詢貫徹了分治的思想。當我們要解決乙個輸入規模較大 不妨設為 n 的問題時,可以將這個問題分解成 k 個不同的子集,如果能得到 k...
複習LCA Tarjan演算法
解題報告 輸入描述的很恐怖,其實用scanf getchar也可以很簡單就寫出來,用tarjan演算法要注意,統計祖先的時候要想清楚,不要重複統計和少統計了。比如 2 解題報告 這個題構樹要用雙向邊,然後dfs時做訪問標記,根節點可以任意選擇乙個,雖然不同的根節點會導致同一對點的祖先不同,但是它們之...