数据结构,使用头插法创建一个链表


   import java.util.Random;
//创建链表类
class MLink{
    //当Mlink实例化后形成一个链表的节点对象
    //节点对象中的属性
    //节点存储的属性
    private int data;
    //存储下一个链表节点地址的属性
    private MLink next;

    /**
     *   功能:创建一个链表,并返回头节点的地址
     * @param len 创建链表数据的长度
     * @return  返回头节点的地址
     */
    public MLink create(int len){
        MLink header=null;
        //创建随机对象
        Random ra=new Random();
        //生成指定长度的随机数
        for (int i = 0; i <len ; i++) {
            //创建随机数
            int num=ra.nextInt(100);
            //创建一个节点对象
            MLink temp=new MLink();
            //存储数据
            temp.data=num;
            //是否第一次创建链表节点
            if(header==null)
               header=temp;
            else{
                temp.next=header;
                header=temp;
            }
        }
        return header;
    }
    /**
     * 遍历整个链表
     * @param header 链表中第一个节点的地址
     */
    public void show(MLink header){
        while(header!=null){
            System.out.println(header.data);
            //遍历下一个节点
            header=header.next;
        }
    }
}
public class Demo01 {
    public static void main(String[] args) {
          //创建链表对象
        MLink link=new MLink();
        //创建一个链表,并返回第一个节点的地址
        MLink header=link.create(8);
        //遍历创建的链表
        link.show(header);
    }
}
 

猜你喜欢

转载自blog.csdn.net/emmyduo/article/details/81213673