王元浩


私信TA

用户名:dotcpp0664606

访问量:2609

签 名:

等  级
排  名 477
经  验 4696
参赛次数 1
文章发表 40
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

TA的其他文章

解题思路:

思路:并没有创建三个链表,而是只通过一个链表对数据排序再加入

输出时是临时变量的下一个,避免把头指针输出

在对数据排序加入时找的temp是位于添加位置的前一个节点,否则插入不了



注意事项:

参考代码:

import java.util.Scanner;

public class Main {
   public static void main(String[] args) {
       Scanner scanner=new Scanner(System.in);
       int n=scanner.nextInt();
       int m=scanner.nextInt();
       LinkedList01 linkedList01=new LinkedList01();
       for (int i=1;i<=n;i++){
           int date01=scanner.nextInt();
           int date02=scanner.nextInt();
           Information information01=new Information(date01,date02);
           linkedList01.add_01(information01);
       }
       //向下一个链表添加数据
       for (int i=1;i<=m;i++){
           int date01=scanner.nextInt();
           int date02=scanner.nextInt();
           Information information01=new Information(date01,date02);
           linkedList01.add_01(information01);
       }
       linkedList01.list_01();

   }
}
//链表1
class LinkedList01{
   Information head=new Information(-1,-1);
   //添加节点
   public  void  add_01(Information information){
       Information temp=head;
       while (true){
           //添加前先判断是否满
           if (temp.next==null){
               break;
           }
           if (temp.next.no>information.no){
               break;
           }
           temp=temp.next;
       }
       //进行数据添加
      information.next=temp.next;
       temp.next=information;
   }
   public  void list_01(){
       Information temp=head;
       while (true){
           if (temp.next==null){
               break;
           }
           System.out.println(temp.next);
           temp=temp.next;
       }
   }
}
/*
//链表2
class LinkedList02{
   Information head=new Information(-1,-1);
   public  void  add_02(Information information){
       Information temp=head;
       while (true){
           //添加前先判断是否满
           if (temp.next==null){
               break;
           }
           temp=temp.next;
       }
       //进行数据添加
       temp.next=information;
   }
}
*/
class  Information{
   public  int no;
   public int score;
   public  Information next;

   public Information(int no, int score) {
       this.no = no;
       this.score = score;
   }

   @Override
   public String toString() {
       return no+" "+score ;
   }
}

 

0.0分

0 人评分

  评论区

  • «
  • »