m n原地逆置

2021-10-06 07:25:35 字數 491 閱讀 2972

problem:乙個長度為m+n的線性表,將後n個元素轉換到m個元素之前並輸出結果,要求最少時間複雜度

配置環境:visual studio 2019 enterprise

#define _crt_secure_no_warnings

#include #include void swap(int a, int i, int j) //swap函式

void reverse(int a, int left, int right) //本函式實現a從left到right的原地逆置 }}

void exchange(int a, int m, int n)

int main()

exchange(a, m, n);

for (int i = 0; i < m + n; i++)

return 0;

}

共享陣列原地逆置

偶然在一本書上看到這樣一道題覺得聽一意思的就拿來做了一下,題目是這樣設定的 在已知一維陣列a m n 中一次存放兩個線性表 a1,a2,a3,a4 am b1,b2,b3 bn 試寫出乙個函式將兩個順序表位置互換,即由 a,1,a2,a3,a4.am,b1,b2,b3.bn 轉換成 b1,b2,b3...

陣列元素原地逆置

最簡單的利用陣列實現 includeusing namespace std const int arraysize 30 int main for int i 0 i 用結構體實現 include includeusing namespace std define listsize 30 函式狀態碼...

單鏈表原地逆置

題目 是編寫演算法將帶一單鏈表逆置,要求空間複雜度為o 1 o 1 o 1 分析 單鏈表分為帶頭節點和不帶頭節點兩種,逆置思路有兩種,第一種是採用頭插法重新建立新的單鏈表,該方法直接遍歷鍊錶,每次將當前結點新增到新鍊錶的頭部 第二種是通過該錶 next指標,定義三個指標 pre,p,r,分別表示三個...