Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java中的字符多维数组排序_Java_Arrays_Sorting_Char - Fatal编程技术网

java中的字符多维数组排序

java中的字符多维数组排序,java,arrays,sorting,char,Java,Arrays,Sorting,Char,我的教授要求按列对2d字符数组进行排序,这样他想要排序的附加数组 unsorted sorted last column Lcekoeddhoffbmg Balgfcaelhfkgeb Lkcmggjcdhhglif Kmlhmhcddfoeilc Cgldjhcekjigcdd Cgldjhcekjigcdd Cgldjhcekjigcdn Lkcmggjcdhhglif Bffmdbkcenlafjk Lcekoeddhoffbm

我的教授要求按列对2d字符数组进行排序,这样他想要排序的附加数组

  unsorted          sorted last column
Lcekoeddhoffbmg     Balgfcaelhfkgeb
Lkcmggjcdhhglif     Kmlhmhcddfoeilc
Cgldjhcekjigcdd     Cgldjhcekjigcdd
Cgldjhcekjigcdn     Lkcmggjcdhhglif
Bffmdbkcenlafjk     Lcekoeddhoffbmg
Fggdijijegfblln     Jjlncnimjldfedj
Jjlncnimjldfedj     Bffmdbkcenlafjk
Amliglfohajcdmm     Amliglfohajcdmm
Balgfcaelhfkgeb     Fggdijijegfblln
Kmlhmhcddfoeilc     Cgldjhcekjigcdn

但问题是他希望整行都是相同的字符,所以如果我们对最后一列进行排序,我们只会相应地上移或下移行。我甚至不知道如何开始,如果您能提供任何帮助,我将不胜感激。

您可以将每个字符数组转换为字符串,然后使用java的字符串排序功能。然后将字符串转换回字符数组。

假设您知道如何对1d数组进行排序(否则请查找),这是非常相似的

不是交换两个字符(当使用冒泡排序或基于交换项的任何其他排序算法时),而是交换两个完整的行。 所以你会得到这样的结果(对于气泡排序):


就像常规的交换实现一样,但对于所有项目。

您是如何尝试解决此问题的?这是分配问题。可能他不允许使用API。此idea服务器按整行对矩阵进行排序,而OP需要按列对2d字符数组进行排序。另外,Java的
String
没有排序功能,还有其他API,如
Java.util.array
Java.util.Collections
来完成这项工作,但由于这看起来像是家庭作业,我猜OP不能使用任何一个。在问题的第一行,你没有读过2d字符数组按列排序的哪一部分吗?正如我读到的:每行的最后一个字符(即最后一列)用于对行进行排序。这正是我的解释和伪代码的目的。
for char1 of each_last_row_char
  for char2 of each_last_row_char_after_char1
    if char2 < char2 then
      swap rows of char1 and char 2
    end
  end
end
for index of row_items
  tmp = row1[index]
  row1[index] = row2[index]
  row2[index] = tmp
end