java 数组的题

4.2作业1、将一个数组中的元素倒排过来,不能新开一个数组的临时存储空间,只能在原数组上改。2、写一个类用来模拟栈这种数据结构,要求底层使用数组存储数据,并给出相应的进栈... 4.2 作业
1、将一个数组中的元素倒排过来,不能新开一个数组的临时存储空间,只能在原数组上改。
2、写一个类用来模拟栈这种数据结构,要求底层使用数组存储数据,并给出相应的进栈和出栈的方法。
3、实现在一个数组指定位置添加元素和删除元素的功能。
1)、数组容量问题?
2)、添加元素前后数组中元素的变化
3)、删除元素前后数组中元素的变化
展开
 我来答
暮影1994
推荐于2016-07-25 · TA获得超过2338个赞
知道大有可为答主
回答量:1215
采纳率:60%
帮助的人:399万
展开全部

/**
 * 2015年6月12日
 * 
 * @author season TODO 实现数组简单操作
 * 
 */
public class Exercise4 {
    /**
     * 将目标数组元素倒排
     * 
     * @param arr
     *            目标数组
     */
    public static void reverseArray(int[] arr) {
        for (int index = 0; arr != null && index < arr.length / 2; index++) {
            int endIndex = arr.length - index - 1;
            int temp = arr[endIndex];
            arr[endIndex] = arr[index];
            arr[index] = temp;
        }
    }

    /**
     * 遍历目标数组元素
     * 
     * @param arr
     *            目标数组
     */
    public static void display(int[] arr) {
        System.out.println("\n\n");
        if (arr == null)
            return;
        for (int number : arr) {
            System.out.print("  " + number);
        }
    }

    public static void main(String[] args) {
        int[] arr = { 1, 2, 3, 4 };
        display(arr);
        reverseArray(arr);
        display(arr);
    }

}
-------------
class Stack {
    int[] arr;
    static int index = 0;

    public Stack() {
        arr = new int[5];
    }

    /* 加入栈顶元素 */
    boolean put(int num) {
        if (index < arr.length) {
            arr[index++] = num;
            return true;
        }
        return false;
    }

    /* 弹出栈顶元素 */
    int pop() {
        return arr[index--];
    }

    /* 显示栈里所有元素 */
    void display() {
        System.out.println("\n\n");
        for (int i = 0; i < index; i++)
            System.out.print(arr[i] + "  ");
    }
}

/**
 * 2015年6月12日
 * 
 * @author season TODO 实现栈的先进后出
 * 
 */
public class Exercise5 {

    public static void main(String[] args) {
        Stack stack = new Stack();
        // 添加三个元素
        stack.put(1);
        stack.put(2);
        stack.put(3);
        stack.display();
        // 弹出一个元素
        stack.pop();
        stack.display();

    }

}
-----------
/**
 * 2015年6月12日
 * 
 * @author season TODO 数组的简单操作
 * 
 */
public class Exercise3 {
    /* 显示数组的所有元素 */
    public static void display(int[] arr) {
        if (arr == null)
            return;
        System.out.println("\n");
        for (int num : arr)
            System.out.print("  " + num);
    }

    /* 删除指定下标为:deleteIndex的元素 */
    public static int[] delete(int[] arr, int deleteIndex) {
        if (arr == null || deleteIndex < 0 || deleteIndex >= arr.length)
            return null;
        int[] tempArr = new int[arr.length - 1];

        for (int index = 0; index < arr.length - 1; index++) {
            if (index < deleteIndex) {
                tempArr[index] = arr[index];
            } else {
                tempArr[index] = arr[index + 1];
            }

        }
        return tempArr;

    }

    /* 增加一个元素 */
    public static int[] add(int[] arr, int addIndex, int num) {
        if (arr == null || addIndex > arr.length || addIndex < 0)
            return null;
        int[] tempArr = new int[arr.length + 1];
        for (int index = 0; index < tempArr.length; index++) {
            if (index < addIndex) {
                tempArr[index] = arr[index];
            } else if (index == addIndex) {
                tempArr[index] = num;
            } else {
                tempArr[index] = arr[index - 1];
            }
        }

        return tempArr;
    }

    public static void main(String[] args) {
        int[] arr = { 1, 4, 6, 7, 9 };
        display(arr);

        arr = delete(arr, 0);
        arr = delete(arr, 0);
        display(arr);

        arr = add(arr, 1, 123);
        display(arr);

        arr = add(arr, 1, -526);
        display(arr);

    }

}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式