![](/img/trans.png)
[英]Sorting characters in a string into alphabetical order without arrays or maps (Java)
[英]Putting Characters in Alphabetical Order in Nodes (Java)
大约4天以来,我一直在努力寻找解决方法,但我仍然无法理解这个概念。
主程序:
String answer = "y";
String n = null;
char nodePointer = ' ';
KeyboardReader reader = new KeyboardReader();
Node start = null;
Node last = null;
Node temp = null;
do{
while(start && !(temp < last->start)){
last = start;
start = start->last;
}
if(last == temp)
temp = new Node(nodePointer,temp);
else
temp = new Node(nodePointer,start);
while(temp != null){
System.out.print(temp.letter);
temp = temp.nodeptr;
}
}while(answer.compareTo(n) == 0);
构造函数:
public class Node {
char letter;
Node nodeptr;
Node(){
letter = ' ';
nodeptr = null;
}
Node(char x){
letter = x;
nodeptr = null;
}
Node(char x, Node y){
letter = x;
nodeptr = y;
}
}
有人可以帮我做出如下输出:
输入字母:m
链接列表:m
您想输入另一个字母(y / n)吗? ÿ
输入字母:o
链接列表:mo
您想输入另一个字母(y / n)吗? ÿ
输入字母:n
链接列表:mno
您想输入另一个字母(y / n)吗? ÿ
输入字母:e
链接列表:emno
您想输入另一个字母(y / n)吗? ÿ
输入字母:y
链接列表:emnoy
您想输入另一个字母(y / n)吗? ñ
感谢您今天使用我的程序!
PS:主程序可能不起作用,因为老实说我很迷失,我理所当然地无法理解这个概念……是的,这是一项家庭作业。.:(
我不想打开Java编辑器,您需要将代码转换为Java并进行这些输入,但是我可以在这里给您一个想法:
var myList = new List();
function GetAlphabeticalPlace(char e){
return "ABCDEFGHIJKLMNOPQRSTUVWXYZ".indexOf(Character.toUpperCase(e));
}
function AssignOrder(char e){
if(myList.length == 0) {
myList.insert(0, e);
return;
}
for(var i = 0, i < myList.length, i++){
if (GetAlphabeticalPlace(e) < GetAlphabeticalPlace(myList[i])){
myList.insert(i, e); //insert the char in the corresponding index
exit;
}
}
}
function PrintList(List l){
var res = "";
for (var i = 0, i < l.length, i++){
res += l[i];
}
return res;
}
console.write(PrintList(myList));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.