每次看到书上说了一个什么功能的时候,就想着自己先去实现,先不看书上的代码。结果常常是敲了一两小时代码都没结果。就算有结果了,跟书上的代码一比,靠,我的代码量是书上的几倍。再仔细一看书,服了,谁写得出这么精练这么牛B的代码啊,什么都考虑到了而且还这么短。
打击一次接一次,有点受不了了。这到底是什么问题?难道只是经验的问题??
希望前辈们给指点指点,谢了。

解决方案 »

  1.   

    看看我的代码(有序链表的插入):class Link
    {
        public int data;
        public Link next;    public Link(int data)
        {
            this.data = data;
        }
        public void displayLink()
        {
            System.out.println(toString());
        }
        public String toString()
        {
            return "{" + data + "}";
        }
    }class LinkList
    {
        private Link first;    public void insert(int data)
        {
            Link newlink = new Link(data);
            Link current = first;
            Link previous = null;        if (current == null)
            {
                newlink.next = first;
                first = newlink;
                return;
            }        while (current.data < data){
                System.out.println(current.data);
                System.out.println(data);
                if (current.next == null){
                    break;
                }
                previous = current;
                current = current.next;
            }
            if (current == previous){
                newlink.next = first.next;
                first = newlink;
            }else if (current.next == null){
                newlink.next = null;
                current.next = newlink;
            }else{
                newlink.next = current;
                previous.next = newlink;
            }
        }
    .........后面省略
    ===========================================================================再看看书上的代码:class Link
    {
        public int data;
        public Link next;    public Link(int data)
        {
            this.data = data;
        }
        public void displayLink()
        {
            System.out.println(toString());
        }
        public String toString()
        {
            return "{" + data + "}";
        }
    }class LinkList
    {
        private Link first;    public void insert(int data)
        {
            Link newlink = new Link(data);
            Link current = first;
            Link previous = null;        while (current != null && current.data > data)
            {
                previous = current;
                current = current.next;
            }
            if (previous == null)
            {
                first = newlink;
            }
            else
            {
                previous.next = newlink;
            }
            newlink.next = current;
        }
    ...........后面省略写了半天,我那段代码还是错的,思路又复杂又混乱。书上的多简单呀。