在节点中按字母顺序放置字符(Java)
我已经花了大约4天的时间试图弄清楚如何做到这一点,但我无法理解这个概念 主程序:在节点中按字母顺序放置字符(Java),java,linked-list,character,nodes,alphabetical,Java,Linked List,Character,Nodes,Alphabetical,我已经花了大约4天的时间试图弄清楚如何做到这一点,但我无法理解这个概念 主程序: String answer = "y"; String n = null; char nodePointer = ' '; KeyboardReader reader = new KeyboardReader(); Node start = null; Node last = null; Nod
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);
请有人帮我做如下输出:
输入一个字母:m链表:m
是否要输入另一个字母(是/否)?y 输入一个字母:o
链接列表:mo
是否要输入另一个字母(是/否)?y 输入字母:n
链接列表:mno
是否要输入另一个字母(是/否)?y 输入字母:e
链接列表:emno
是否要输入另一个字母(是/否)?y 输入字母:y
链接列表:emnoy
是否要输入另一个字母(是/否)?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));
var myList=new List();
函数GetAlphacalPlace(字符e){
返回“abcdefghijklmnopqrstuvxyz”.indexOf(Character.toUpperCase(e));
}
函数赋值顺序(字符e){
如果(myList.length==0){
myList.插入(0,e);
回来
}
对于(var i=0,i
我认为最好添加一个LinkedList
类,并在该类中实现一个函数,以添加一个新节点并将其放置在正确的位置以保持顺序。还可以添加一个打印函数。然后在主程序中,每次用户输入新字符时,您只需调用这两个函数。因此我尝试使用c将其精简并实现到我的代码中,但这意味着它无法从数组转换到节点。我非常确定我不能使用数组来完成此任务,只能进行节点操作。。。
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));