//★題目:陣列的partition調整
//要求:給定乙個有序陣列arr,調整arr是的這個陣列的左半部分沒有重複元素且公升序,而不用保證右半部分有序
// 例如:arr = [1,2,2,2,3,3,4,5,6,6,7,7,8,8,8,9],調整後為arr = [1,2,3,4,5,6,7,8,9,.....]
//補充題目:給定乙個陣列arr,其中只可能包含有0、1、2三個值,請實現arr的排序
// 另一種問法:有乙個陣列,其中只有紅球、藍球和黃球,請實現紅球放在陣列的左邊,籃球放中間,黃球放右邊
// 另一種問法:有乙個陣列,再給定乙個值k,實現比k小的數都放在陣列的左邊
// 等於k的數都放在陣列的中間,大於k的數都放在陣列的右邊
//要求:所有題目時間複雜度o(n),空間複雜度o(1)
#include #include using namespace std;
void swapvec1(vector&matrix, int i, int j);
void leftunique(vector&matrix);
void printvector1(vectormatrix);
vectorgeneratedesignated1vector(int *arr, int size);
int main()
; int *arr = arraymine;
vectormatrix = generatedesignated1vector(arr, 17);
printvector1(matrix);
cout << endl;
leftunique(matrix);
printvector1(matrix);
cout << endl;
system("pause");
return 0;
}void leftunique(vector&matrix)
else
}swapvec1(matrix, ++orderly, matrix.size() - 1);
}void swapvec1(vector&matrix, int i, int j)
void printvector1(vectormatrix)
}vectorgeneratedesignated1vector(int *arr, int size)
static int vecindex = 0;
while (vecindex < size)
return result;
}
陣列與矩陣
toc 陣列是我們比較常接觸的一種資料結構了,就我們所了解的,陣列從一維到多維不等,由陣列演變出來的另一概念,被稱之為矩陣,但是其實質還是一種有序的序列。接下來給出一維陣列的實現。class array int arraysize int operator int i const 過載下標符 arr...
陣列與矩陣
建立陣列 建立簡單的陣列 x a b c d e f 建立包含指定元素的行向量。x first last 建立從first開始,加1計數,到last結束的行向量。x increment last 建立從first開始,加increment計數,到last結束的行向量。x linspace first...
陣列與矩陣
陣列 一維陣列 陣列就是有序的元素序列 元素 簡單說就是存放在每個格中的內容 值 二維陣列 釋義 一維陣列的每個元素都是一維陣列 矩陣 在數學中,矩陣 matrix 是乙個按照長方陣列排列的複數或實數集合 矩陣與二維陣列類似 特殊矩陣 零矩陣 內部元素全部為0,一般用0m n表示 方陣 對於行教和列...