最后一次加分实践,排序与调用

排序

遇到的问题;

-老师说完题目后,我第一反应就是翻出课堂实践老师给出的答案。然后进行修改,同样是用冒泡,但是我的代码还是有一些问题。
要求用命令行输入,并进行排序。

  • 我的课堂代码(有问题)
import java.lang.Integer;
 public class CLSum {
       public static void main(String [] args) {
                 int i;
                int a = 0;
                int [] tmp = new int [args.length];
                 for( i=0; i<args.length; i++) {
                         tmp[i] = Integer.parseInt(args[i]);
                    }

                 for(int t=0;t<args.length; t++){
                        if(tmp[t] <tmp[t+1])
                       a=tmp[t];
                        tmp[t]=tmp[t+1];
                        tmp[t+1]= a;
                     }
                 System.out.println(tmp);

             }
  }
  • 回来后自己查询资料写的代码
import java.util.*;

public class MySort {


    public static void main(String[] args) {
        int[] arr = new int[10];
        for(int i=0;i<args.length;i++)
        {
            arr[i]=Integer.parseInt(args[i]);
        }

        for(int i=0;i<args.length-1;i++){
                       for(int j=0;j<args.length-i-1;j++){
                                if(arr[j]>arr[j+1]){
                                         int temp=arr[j];
                                    arr[j]=arr[j+1];
                                    arr[j+1]=temp;
                                }
                            }
                     }
        for(int i=0;i<args.length;i++)
        {
            System.out.printf("%d ",arr[i]);
        }
    }
}

调用链表并进行添加值

  • 对书上代码进行调用,并添加至
  • 会调用但不会添加。
  • 同学帮助下修改的代码如下
  • 困难

    -老师说的是自己写一个程序调用链表,并进行添加元素。我就自己重新写了一个调用,调用我会,但是添加元素就不太会了。
    回来后请教同学,将代码写出。


public class SimpleLinkedList {
    private class Node {
        public Object elem;

        Node(Object o) {
            this.o = o;
        }
        Object o;
        Node next;
    }

    private Node first;

    public void add(Object elem) {
        Node node = new Node(elem);
        if(first == null) {
            first = node;
        }
        else {
            append(node);
        }
    }

    private void append(Node node) {
        Node last = first;
        while(last.next != null) {
            last = last.next;
        }
        last.next = node;
    }

    public int size() {
        int count = 0;
        Node last = first;
        while(last != null) {
            last = last.next;
            count++;
        }
        return count;
    }

    public Object get(int index) {
        checkSize(index);
        return findElemOf(index);
    }

    private void checkSize(int index) throws IndexOutOfBoundsException {
        int size = size();
        if(index >= size) {
            throw new IndexOutOfBoundsException(
                    String.format("Index: %d, Size: %d", index, size));
        }
    }

    private Object findElemOf(int index) {
        int count = 0;
        Node last = first;
        while(count < index) {
            last = last.next;
            count++;
        }
        return last.elem;
    }
    public static void main(String[] args) {
        SimpleLinkedList Sim=new SimpleLinkedList();
        System.out.println(Sim.size());
    }
}
  • 自己的代码如下
public class Diaoyong {
    public static void main(String[] args){

     SimpleLinkedList SIZE=new SimpleLinkedList();

     System.out.println();


        }
    }

感想

这次实践,感觉自己会一点,但不全会,还是积累太少,需要继续努力,还是伪代码到产品代码的路任重而道远。
-总是看了别人的代码而不明觉厉

转载于:https://www.cnblogs.com/hpl20155329/p/6985924.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值