java编程题求助——写一个方法
【JAVA】请编写一个方法,功能是创建一个单链表,链表的数据结构中除了next指针,只有一个字符型的数据data,创建完的链表里data的内容是从a-z的字母,同时要求写...
【JAVA】请编写一个方法,功能是创建一个单链表,链表的数据结构中除了next指针,只有一个字符型的数据data,创建完的链表里data的内容是从a-z的字母,同时要求写出数据结构link。
方法的格式为 Link CreateList(Link root)
本人JAVA新手,不会做。怕分白扔了却没有人回答,所以先扔这么少的分。如果哪位高手写的好,追加100分,谢谢。
不需要delete方法,只要能创建单链表,然后实例化一个,能把结果a-z遍历出来就可以了。 展开
方法的格式为 Link CreateList(Link root)
本人JAVA新手,不会做。怕分白扔了却没有人回答,所以先扔这么少的分。如果哪位高手写的好,追加100分,谢谢。
不需要delete方法,只要能创建单链表,然后实例化一个,能把结果a-z遍历出来就可以了。 展开
3个回答
展开全部
public class Test {
public static void main(String[] args) {
Link l = Link.CreateList(new Link());
System.out.println(l);
}
}
class Link {
private char data;
private Link next;
public boolean hasNext() {
if (next != null)
return true;
return false;
}
public Link next() {
return next;
}
public Link(char data) {
this.data = data;
}
public Link() {
}
public void setData(char data) {
this.data = data;
}
public void append(char cData) {
Link temp = this;
while(temp.hasNext()){
temp=temp.next();
}
temp.next=new Link(cData);
}
public static Link CreateList(Link root) {
root.setData('a');
for (char c = 'b'; c <= 'z'; c++) {
root.append(c);
}
return root;
}
public String toString() {
String link="";
Link temp=this;
while(temp.hasNext()){
link+=String.valueOf(temp.data)+"-->";
temp=temp.next();
}
link+=temp.data;
return link.toString();
}
}
还需要delete方法吗???
public static void main(String[] args) {
Link l = Link.CreateList(new Link());
System.out.println(l);
}
}
class Link {
private char data;
private Link next;
public boolean hasNext() {
if (next != null)
return true;
return false;
}
public Link next() {
return next;
}
public Link(char data) {
this.data = data;
}
public Link() {
}
public void setData(char data) {
this.data = data;
}
public void append(char cData) {
Link temp = this;
while(temp.hasNext()){
temp=temp.next();
}
temp.next=new Link(cData);
}
public static Link CreateList(Link root) {
root.setData('a');
for (char c = 'b'; c <= 'z'; c++) {
root.append(c);
}
return root;
}
public String toString() {
String link="";
Link temp=this;
while(temp.hasNext()){
link+=String.valueOf(temp.data)+"-->";
temp=temp.next();
}
link+=temp.data;
return link.toString();
}
}
还需要delete方法吗???
展开全部
public class Link
{
private char data ;
private Link next ;
public Link (char data)
{
this.data = data ;
}
public void setData (char data)
{
this.data = data ;
}
public void appendChild (Link child)
{
next = child ;
}
public Link appendChild (char cData)
{
child = new Link (cData) ;
appendChild (child) ;
return child ;
}
public void removeChild ()
{
next = null ;
}
public static Link CreateList (Link root)
{
if (root == null)
root = new Link ('a') ;
root.setData ('a') ;
Link tmp = root ;
for (char c = 'b' ; c <= 'z' ; c ++)
{
tmp = tmp.appendChild (c) ;
}
return root ;
}
}
{
private char data ;
private Link next ;
public Link (char data)
{
this.data = data ;
}
public void setData (char data)
{
this.data = data ;
}
public void appendChild (Link child)
{
next = child ;
}
public Link appendChild (char cData)
{
child = new Link (cData) ;
appendChild (child) ;
return child ;
}
public void removeChild ()
{
next = null ;
}
public static Link CreateList (Link root)
{
if (root == null)
root = new Link ('a') ;
root.setData ('a') ;
Link tmp = root ;
for (char c = 'b' ; c <= 'z' ; c ++)
{
tmp = tmp.appendChild (c) ;
}
return root ;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ArrayList Vector 这些类都可以直接用。既然是java就没必要和c一样什么数据结构都自己去写,java本身提供了很齐全的类给你。 而且功能比你想象的还要多的多,你自己写只会浪费时间,而且功能还没提供的类功能多。像线程之间的同步什么的他都帮你写好了,千万别拿学c的方法来学java,否则你弯路要走的多了。遇到问题首先去从api里找相似功能的类,如果不没有再考虑自己写。否则你自己写了半天,结果人家用一个api方法轻松搞定,方便快捷而且不容易错。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询