最后一次加分实践,排序与调用
排序
遇到的问题;
-老师说完题目后,我第一反应就是翻出课堂实践老师给出的答案。然后进行修改,同样是用冒泡,但是我的代码还是有一些问题。
要求用命令行输入,并进行排序。
- 我的课堂代码(有问题)
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();
        }
    }
感想
这次实践,感觉自己会一点,但不全会,还是积累太少,需要继续努力,还是伪代码到产品代码的路任重而道远。
-总是看了别人的代码而不明觉厉
 
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号