晨星的天空 发表于 2021-6-26 19:45

【C/C++】如何实现字符串按列优先排列

本帖最后由 晨星的天空 于 2021-6-26 19:46 编辑

对于给定顺序的字符串组,要求实现按列优先输出,比如
adgi
behj
cf
要求是左对齐,且不超出给定的宽度width
求大佬给个思路
个人的解决方法是先按一行排序,若宽度超出width则将n=2处的字符移入下一行,
n=2处填入占位符0,然后依次交换余下字符串与0的位置,以此类推
但是这种方法当n较大时运算次数较多,不知道该怎么改进

Ldfd 发表于 2021-6-26 20:01

输出肯定是o(n)的不存在你说的复杂度问题,(排序直接无耻sort{:301_986:}

ERROR: 发表于 2021-6-26 20:55

正常sort排序以后按照给出的行列数用两层for循环控制输出应该就差不多了吧,或者看看有多少(假设n)行,那么第一行就输出第一个,第n+1个,第2n+1个...以此类推这样应该也可以实现

云在天 发表于 2021-6-26 21:46

现在都不学数学的吗???

先填充矩阵然后转置矩阵就好了

温柔的笑 发表于 2021-6-26 22:17

自学的c,感觉你们的问题和回答好高级,

tlf 发表于 2021-6-27 09:21

页: [1]
查看完整版本: 【C/C++】如何实现字符串按列优先排列