java 数组的题
4.2作业1、将一个数组中的元素倒排过来,不能新开一个数组的临时存储空间,只能在原数组上改。2、写一个类用来模拟栈这种数据结构,要求底层使用数组存储数据,并给出相应的进栈...
4.2 作业
1、将一个数组中的元素倒排过来,不能新开一个数组的临时存储空间,只能在原数组上改。
2、写一个类用来模拟栈这种数据结构,要求底层使用数组存储数据,并给出相应的进栈和出栈的方法。
3、实现在一个数组指定位置添加元素和删除元素的功能。
1)、数组容量问题?
2)、添加元素前后数组中元素的变化
3)、删除元素前后数组中元素的变化 展开
1、将一个数组中的元素倒排过来,不能新开一个数组的临时存储空间,只能在原数组上改。
2、写一个类用来模拟栈这种数据结构,要求底层使用数组存储数据,并给出相应的进栈和出栈的方法。
3、实现在一个数组指定位置添加元素和删除元素的功能。
1)、数组容量问题?
2)、添加元素前后数组中元素的变化
3)、删除元素前后数组中元素的变化 展开
展开全部
/**
* 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);
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询