Given a text file file.txt, transpose its content.
You may assume that each row has the same number of columns and each field is separated by the ' ' character.
For example, if file.txt has the following content:
name age alice 21 ryan 30
Output the following:
name alice ryan age 21 30
Have you met this question in a real interview?
Yes
No
O(n*n) time since we need to read both row and column
# Read from the file file.txt and print its transposed content to stdout.
declare -A matrix
col=1
row=1
while read line; do
col=1
for word in $line;do
matrix[$row,$col]=$word
((col++))
done
((row++))
done < file.txt
for ((i=1;i<col;i++)) do
echo -n ${matrix[1,$i]}
for ((j=2;j<row;j++)) do
echo -n ' '${matrix[$j,$i]}
done
echo
done

本文介绍了一种用于将文本文件内容进行转置的算法。通过该算法可以实现将输入文件的行与列互换,适用于各行列元素数量一致的场景。例如,给定含有姓名和年龄的表格数据,算法能将其转换为姓名列和年龄列。
2913

被折叠的 条评论
为什么被折叠?



