C 中將vector轉化為動態陣列 實現快速排序

2021-07-30 09:35:01 字數 909 閱讀 6007

stl中的vector相比傳統的陣列構造方法效率較低但使用起來更方便,尤其在動態陣列方面,可以在不知道陣列大小的情況下動態地建立所需要的vector,在c++中這是其他所有構造陣列的方法都不具備的,但當需要使用vector時卻發現只是遍歷比較方便,而往往現成的演算法形參都需要傳入陣列或者指向陣列首元素的指標,這時就經常需要將vector轉換為陣列,所以寫乙個簡單的vec2arr模板函式以後方便呼叫並通過乙個快速排序演算法的實現驗證其便利性:

templateelemtype* vec2arr(vectorvec)

templatevoid quicksort(elemtype a, int begin, int end)

cout << "排序之前的陣列:" << endl;

int *arr=new int[1]; //new初始化必須指定陣列大小

arr = vec2arr(a);

for (size_t i = 0; i < a.size(); i++)

cout << arr[i] << " " ;

cout << endl;

quicksort(arr, 0, a.size() - 1);

cout << "排序之後前的陣列:" << endl;

執行成功,發現atoi函式會將特殊字元轉化為0,可以寫乙個判斷string是否是數字的函式判斷下以完善程式,這裡就到此為止。

C 中將string型別轉化為int型別

寫程式需要將string轉化為int,所以就探索了一下。方法一 atoi函式 atoi函式將字串轉化為整數,注意需要stdl程式設計客棧ib庫。所以就嘗試了一下 include include include using namespace std int main 然後就www.cppcns.co...

如何在C 中將filetime時間轉化為字串?

先將filetime轉化為systemtime 再 注釋1 對於systemtime的顯示也可以使用mfc中的cstring型別 systemtime st cstring strdate,strtime getlocaltime st strdate.format 4d 2d 2d st.wyea...

JS中將物件轉化為陣列

這個對於大佬來說應該是個很基礎的問題,但是今天我要用到這個的時候卻一下沒想起來該怎麼做,所以打算寫下來加深下影響。舉個例子,如何把乙個物件轉化為 我們都知道,js中物件有兩種取值方式,通過在.後面直接加屬性名取值,這也是我們最常使用的一種方式,例如 let obj console.log obj.n...