陣列與矩陣 陣列的partition調整

2021-09-20 06:18:33 字數 1340 閱讀 7546

//★題目:陣列的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表示 方陣 對於行教和列...