最近身邊的人各種地找工作,每當聽到那些筆試題都有一點小小的心虛,話說現在基本上都把以前學過的資料結構和演算法的知識還給老師了,因此找出教材重新溫習,自己用c++逐一實現以下。
一、氣泡排序。
#includetemplate void bubblesort(t * bs,int n) ;
using namespace std;
int main() ;
bubblesort(a,10);
for (int i =0;i<10;i++)
cout << a[i] << endl;
}template void bubblesort(t *bs,int n)
} n--;
}}
二、插入排序
template void insertsort(t *is,int n)
}
三、選擇排序
template void selectsort(t *ss,int n)
swap (ss[i],ss[min]);
}}
四、希爾排序
template void shellsort(t *shs,int n)
template void quicksort(t *qs,int lo,int hi)
template int partition (t *qs,int lo,int hi)
while (pt < qs[j])
if (i >= j) break;
swap (qs[i],qs[j]); //最後一種情況,如果i和j相遇或者i>j,交換兩者
} swap(qs[lo],qs[j]); //此時的j應該就是切分元素應該在的位置。將切分元素pt放入正確的位置
return j;
}
經典排序演算法C 實現
用c 實現了經典的氣泡排序 插入排序 選擇排序 堆排序 快速排序 希爾排序 歸併排序。等空閒的時候再補充每個排序演算法的思想以及易錯點。氣泡排序 void bubble sort vector arr,int n if swaped 0 break else swaped 0 插入排序 withou...
經典排序演算法(C 實現)
氣泡排序 public static int bubblesort int array return array 選擇排序 1.從左至右遍歷,找到最小 大 的元素,然後與第乙個元素交換。2.從剩餘未排序元素中繼續尋找最小 大 元素,然後與第二個元素進行交換。3.以此類推,直到所有元素均排序完畢。pu...
經典排序演算法C 實現
void insert vector a 直接插入排序 void insert vector a 氣泡排序 void pick vector a swap a i a idx 直接選擇排序 void merge vector ans,int l,int mid,int r while i mid t...