1. 程式人生 > 其它 >【MATLAB程式設計例項練習】-(22)合併排序陣列

【MATLAB程式設計例項練習】-(22)合併排序陣列

技術標籤:MATLAB程式設計例項練習演算法

1.問題描述

將兩個升序的整數陣列A和B合併,形成新陣列,新陣列也保持升序。

2.問題示例

輸入A = [1,3,5,7], B = [5 6 7 8], 合併後陣列為 [1,3,5,5,6,7,7,8].

3.程式碼實現

%合併排序陣列
A = [1,3,5,7];
B = [5 6 7 8];

i = 1;
j = 1;
C = [];

while i<=length(A) && j<=length(B) %i和j代表取元素的位置
    
          if A(i)<B(j)
              C = [C A(i)];
              i = i+1;
          else
              C = [C B(j)];
              j = j+1;
          end
          
end

while i<=length(A) %A中元素沒取完的情況
    
         C = [C A(i)];
          i = i+1;
    
end

while j<=length(B) %B中元素沒取完的情況
    
         C = [C B(j)];
          j = j+1;
    
end

disp('合併後的陣列C為:');
disp(C);
合併後的陣列C為:
     1     3     5     5     6     7     7     8