在非递减的有序单链表中插入一个值为x的数据元素,并使单链表仍保持有序的操作

// 在非递减的有序单链表中插入一个值为x的数据元素,并使单链表仍保持有序的操作

public void insert(Object  x) {
    Node p = head.next;
    Node q = head;// q用来记录p的前驱结点
    //int temp;
    Object temp;
    while (p != null) {
             //temp = ((Integer) p.data).intValue();
             temp = p.data;
             if (((Comparable)temp).compareTo(x) < 0) {
                   q = p;
                   p = p.next;
             } else
                   break;
    }
    Node s = new Node(x); // 生成新结点
    s.next=p;// 将s结点插入到单链表的q结点与p结点之间
    q.next=s;
}


版权声明:本文为zjhzcjg原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。