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,分別表示三個...