![](/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.