当前位置:编程学习 > JAVA >>

新手跪求JAVA大牛帮忙....

C语言中有单向循环链表存储结构 
我想问下 JAVA中有木有类似的结构?
或者说怎么用java语言实现单向循环

在线等....


java --------------------编程问答-------------------- 链表有,循环链表好像么有 --------------------编程问答--------------------
引用 1 楼 xxhhbb1538 的回复:
链表有,循环链表好像么有


我换个问法 怎么用java实现Joseph问题.... --------------------编程问答-------------------- LinkedList? --------------------编程问答--------------------
引用 3 楼 u011985967 的回复:
LinkedList?


好吧 这个好像可以... --------------------编程问答--------------------
引用 4 楼 u010703975 的回复:
Quote: 引用 3 楼 u011985967 的回复:

LinkedList?


好吧 这个好像可以...


你要自己实现应该也不难啊 --------------------编程问答-------------------- 扩展一下linkedlist,应该不难实现吧,加一个最后一个元素的判断就行了 --------------------编程问答-------------------- 估计楼主是基础知识模糊的原因。Java的链表比C语言更简洁:

class Node<T>{
Node<T> next;
T t;
}

想用Java学习数据结构,你一定要树立两条规则:
一、java中除了基本类型,其他的都是“指向堆内存连续单元"的指针类型,但没有指向栈内存中基本变量的指针(如C语言中的int *p);
如 :
Object o1=new Object();

"new Object()"在堆内存中占12个字节,而所有的指针其实都是int类型,所以o1存在于栈内存中,占4字节
二、Java中所有的传递依然是”值传递“,如:
public class ObjTest {
 public static void main(String[] args) {
      Object o1=new Object();
      testObj(o1);

    }
public static void testObj(Object obj){
    System.out.println(obj.toString());
}

}

1、执行到第3行时,栈被占用4字节,堆被占用12字节,假设o1的值为A0FFFX;
2、执行到第7行时,栈又多开辟了4字节,o1把A0FFFX拷贝给obj,o1和obj都指向了同一个单元;
3、执行到第8行,obj.toString()其实相当于C语言中的obj->toString(),都遵循”先寻址,后调用“的原则;
4、执行到第9行,栈中的obj被释放。

请参考:http://bbs.csdn.net/topics/390582619 --------------------编程问答--------------------
引用 7 楼 SmallYamateh 的回复:
估计楼主是基础知识模糊的原因。Java的链表比C语言更简洁:

class Node<T>{
Node<T> next;
T t;
}

想用Java学习数据结构,你一定要树立两条规则:
一、java中除了基本类型,其他的都是“指向堆内存连续单元"的指针类型,但没有指向栈内存中基本变量的指针(如C语言中的int *p);
如 :
Object o1=new Object();

"new Object()"在堆内存中占12个字节,而所有的指针其实都是int类型,所以o1存在于栈内存中,占4字节
二、Java中所有的传递依然是”值传递“,如:
public class ObjTest {
 public static void main(String[] args) {
      Object o1=new Object();
      testObj(o1);

    }
public static void testObj(Object obj){
    System.out.println(obj.toString());
}

}

1、执行到第3行时,栈被占用4字节,堆被占用12字节,假设o1的值为A0FFFX;
2、执行到第7行时,栈又多开辟了4字节,o1把A0FFFX拷贝给obj,o1和obj都指向了同一个单元;
3、执行到第8行,obj.toString()其实相当于C语言中的obj->toString(),都遵循”先寻址,后调用“的原则;
4、执行到第9行,栈中的obj被释放。

请参考:http://bbs.csdn.net/topics/390582619


多谢指教 我还是在校的学生 现在自学Java中  基础是不怎么扎实 我会继续学习的... --------------------编程问答--------------------
引用 6 楼 bayougeng 的回复:
扩展一下linkedlist,应该不难实现吧,加一个最后一个元素的判断就行了


恩恩多谢指教
补充:Java ,  Java相关
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,