代码

  1. public class shuang_lian_biao {
  2. public static void main(String[] args) {
  3. shuang_linkedlist linkedlist = new shuang_linkedlist();
  4. linkedlist.add("1");
  5. linkedlist.add("2");
  6. linkedlist.add("3");
  7. linkedlist.add("4");
  8. shuang_onelist shuang_onelist = linkedlist.get(3);
  9. Object data = shuang_onelist.getData();
  10. System.out.println(data);
  11. System.out.println("+++++++++++++++++++++++++++++++++++++++++++");
  12. linkedlist.insert(2,"w");
  13. for (int i=1;i<6;i++){
  14. com.company.shuang_lian_biao.shuang_onelist shuang_onelist1 = linkedlist.get(i);
  15. System.out.println(shuang_onelist1.getData());
  16. }
  17. System.out.println("=================================================");
  18. linkedlist.delete(2);
  19. for (int i=1;i<5;i++){
  20. shuang_onelist onelist1 = linkedlist.get(i);
  21. System.out.println(onelist1.getData());
  22. }
  23. }
  24. }
  25. class shuang_linkedlist{
  26. private shuang_onelist head;
  27. public shuang_linkedlist() {
  28. this.head=new shuang_onelist(0,null);
  29. }
  30. public void add(Object o){
  31. shuang_onelist s_nowlist=this.head;
  32. while (true){
  33. if(s_nowlist.getNext()==null){
  34. break;
  35. }
  36. s_nowlist= s_nowlist.getNext();
  37. }
  38. shuang_onelist shuang_onelist = new shuang_onelist(s_nowlist.getId() + 1, o);
  39. s_nowlist.setNext(shuang_onelist);
  40. shuang_onelist.setPre(s_nowlist);
  41. }
  42. public shuang_onelist get(int id){
  43. shuang_onelist nowlist=this.head;
  44. while (true){
  45. if(nowlist.getId()==id){
  46. break;
  47. }
  48. nowlist=nowlist.getNext();
  49. }
  50. return nowlist;
  51. }
  52. public void insert(int index,Object o){
  53. shuang_onelist nowlist=this.head;
  54. while (true){
  55. if(nowlist.getId()==index){
  56. break;
  57. }
  58. nowlist=nowlist.getNext();
  59. }
  60. shuang_onelist onelist = new shuang_onelist(index + 1, o);
  61. onelist.setNext(nowlist.getNext());
  62. nowlist.setNext(onelist);
  63. onelist.setPre(nowlist);
  64. shuang_onelist next = onelist.getNext();
  65. next.setPre(onelist);
  66. ////////////////////////////////////////
  67. while (true){
  68. if(next==null){
  69. break;
  70. }
  71. next.setId(next.getId()+1);
  72. next=next.getNext();
  73. }
  74. }
  75. public void delete(int index){
  76. shuang_onelist nowlist=this.head;
  77. while (true){
  78. if(nowlist.getId()==index){
  79. break;
  80. }
  81. nowlist=nowlist.getNext();
  82. }
  83. shuang_onelist next = nowlist.getNext();
  84. nowlist.getPre().setNext(nowlist.getNext());
  85. nowlist.getNext().setPre(nowlist.getPre());
  86. nowlist.setPre(null);
  87. nowlist.setNext(null);
  88. ////////////////////
  89. while (true) {
  90. if (next == null) {
  91. break;
  92. }
  93. next.setId(next.getId()-1);
  94. next=next.getNext();
  95. }
  96. }
  97. }
  98. class shuang_onelist{
  99. private int id;
  100. private Object data;
  101. private shuang_onelist next;
  102. private shuang_onelist pre;
  103. public shuang_onelist(int id, Object data) {
  104. this.id = id;
  105. this.data = data;
  106. }
  107. public int getId() {
  108. return id;
  109. }
  110. public void setId(int id) {
  111. this.id = id;
  112. }
  113. public Object getData() {
  114. return data;
  115. }
  116. public void setData(Object data) {
  117. this.data = data;
  118. }
  119. public shuang_onelist getNext() {
  120. return next;
  121. }
  122. public void setNext(shuang_onelist next) {
  123. this.next = next;
  124. }
  125. public shuang_onelist getPre() {
  126. return pre;
  127. }
  128. public void setPre(shuang_onelist pre) {
  129. this.pre = pre;
  130. }
  131. }

结果

image.png