順序表正負數的調整 10分

2021-10-01 15:04:27 字數 542 閱讀 6284

# **順序表正負數的調整 (10分)**
順序表的正負數的調整。實現如下操作:已知陣列a[n]中的元素為整型的非零元素,將其調整成左右兩部分,左邊所有的元素都為負數,右邊所有的元素都為正數,要求演算法的時間複雜度為o(n),要求輸出調整以後的陣列元素,每兩個元素之間使用乙個空格隔開。 注意:n<100,n和n個元素的值依次由鍵盤輸入。

輸入樣例:

109 -7 6 -20 10 -15 18 -11 8 -4

輸出樣例:

-4 -7 -11 -20 -15 10 18 6 8 9

#includeusing namespace std;

const int n=110;

int arry[n];

int main()

int i=0,j=n-1;

while(i0) --j;

swap(arry[i],arry[j]);

} cout

}

不改變正負數相對順序重新排列陣列

class program posinum,neganum int index 0 int opercount 1 int maxnum 0 for int i 0 i numofnum i if math.abs inputarray i maxnum maxnum math.abs inputa...

不改變正負數相對順序重新排列陣列

看到網上乙個解法,空間複雜度o 1 時間複雜度o nlogn 做乙個小演算法題,提提神 乙個未排序整數陣列,有正負數,重新排列使負數排在正數前面,並且要求不改變原來的正負數之間相對順序。思考的過程就略去了,直接說結果吧。我想到的演算法,空間複雜度為o 1 時間複雜度為o n logn 首先,定義這樣...

C語言中的正負數以及數值溢位

在數學中,數字有正負之分。在c語言中也是一樣,short int long 都可以帶上符號,例如 複製 格式化複製 short a 10 負數 int b 10 正數 long c 9 12 負數和正數相加 short a 10 負數 int b 10 正數 long c 9 12 負數和正數相加 ...