matlab " />

扫描二维码下载沐宇APP

沐宇

微信扫码使用沐宇小程序

沐宇

MATLAB 瀹炵幇zigzag鎵弿(z瀛楀舰鎵弿)

扬州沐宇科技
2023-10-12 08:39:12
matlab

Zigzag鎵弿锛堜篃绉颁负Z瀛楀舰鎵弿锛夋槸涓€绉嶅浘鍍忕紪鐮佹妧鏈紝鐢ㄤ簬灏嗕簩缁寸煩闃典腑鐨勫厓绱犳寜鐓х壒瀹氱殑椤哄簭鎺掑垪銆?/p>

浠ヤ笅鏄疢ATLAB瀹炵幇Zigzag鎵弿鐨勪唬鐮佺ず渚嬶細

function zigzag = zigzagScan(matrix)
[m, n] = size(matrix);
zigzag = zeros(1, m*n);
% 瀹氫箟鍒濆浣嶇疆鍜屾柟鍚?/span>
row = 1; col = 1;
direction = 'up';
% 瀵逛簬姣忎釜鍏冪礌锛屾寜鐓igzag鎵弿鐨勯『搴忚繘琛屾帓鍒?/span>
for i = 1:m*n
zigzag(i) = matrix(row, col);
% 鏍规嵁褰撳墠鏂瑰悜閫夋嫨涓嬩竴涓綅缃?/span>
if strcmp(direction, 'up')
if col == n
row = row + 1;
direction = 'down';
elseif row == 1
col = col + 1;
direction = 'down';
else
row = row - 1;
col = col + 1;
end
elseif strcmp(direction, 'down')
if row == m
col = col + 1;
direction = 'up';
elseif col == 1
row = row + 1;
direction = 'up';
else
row = row + 1;
col = col - 1;
end
end
end
end

浣跨敤绀轰緥锛?/p>

matrix = [1, 2, 3;
4, 5, 6;
7, 8, 9];
zigzag = zigzagScan(matrix);
disp(zigzag);

杈撳嚭缁撴灉锛?/p>

1     2     4     7     5     3     6     8     9

杩欓噷鐨勮緭鍑虹粨鏋滃嵆涓烘寜鐓igzag鎵弿椤哄簭鎺掑垪鐨勭煩闃靛厓绱犮€?/p>

扫码添加客服微信