import javax.management.RuntimeErrorException; public class MyArray { private long array[]; private int elements;//用于记录数组中实际数据的个数 public MyArray(){ array=new long[50];//数组默认长度为50: } public MyArray(int capacity){//设置数组的默认长度 array=new long[capacity]; }…
java数据结构系列之栈 手写栈 1.利用链表做出栈,因为栈的特殊,插入删除操作都是在栈顶进行,链表不用担心栈的长度,所以链表再合适不过了,非常好用,不过它在插入和删除元素的时候,速度比数组栈慢,因为它要维护自己的指针(Next)引用. package com.rsc.stack; import java.util.LinkedList; /** * 利用链表实现的栈 * @author 落雨 * http://ae6623.cn * @param <T> */ public class Li…
Q: 数组的创建? A: Java中有两种数据类型,基本类型和对象类型,在许多编程语言中(甚至面向对象语言C++),数组也是基本类型.但在Java中把数组当做对象来看.因此在创建数组时,必须使用new操作符: int [] objArray = null; // defines a reference to an array objArray = new int[100]; // creates the array, and sets objArray to refer to it 或使用等价的…
在计算机科学中,动态数组,可扩展数组,可调整数组,动态表,可变数组或数组列表是一种随机存取可变大小列表数据结构,允许添加或删除元素.它提供许多现代主流编程语言的标准库.动态数组克服了静态数组的限制,静态数组具有需要在分配时指定的固定容量. 动态数组与动态分配的数组不同,数组是数组分配时大小固定的数组,尽管动态数组可能使用固定大小的数组作为后端. 代码实现: package DataStructures; import java.util.Iterator; import java.util.No…
在编程中,算法的重要性不言而喻,没有算法的程序是没有灵魂的.可见算法的重要性. 然而,在学习算法之前我们需要掌握数据结构,数据结构是算法的基础. 我在大学的时候,学校里的数据结构是用C语言教的,因为对C语言也不是很了解,所以掌握得不是特别好,在网上找的一些学习资料里也基本都是用C语言来进行数据结构的教学. 那么,从本篇文章开始,我将用Java语言来介绍数据结构,当然,数据结构过后就是算法. 线性结构和非线性结构 线性结构 线性结构作为最常用的数据结构,其特点是数据元素之间存在一对一的线性关系:…
一.数组的实现 上一篇博客我们介绍了一个数据结构必须具有以下基本功能: ①.如何插入一条新的数据项 ②.如何寻找某一特定的数据项 ③.如何删除某一特定的数据项 ④.如何迭代的访问各个数据项,以便进行显示或其他操作 package arrays; import java.util.Arrays; public class MyArray { private int[] intArray; private int elems; private int length; /** * 默认创建一个长度为5…
一维数组: (1)数组:存储同一种数据类型的多个元素的容器. (2)特点:每一个元素都有编号,从0开始,最大编号是数组的长度-1. 编号的专业叫法:索引 (3)定义格式 A:数据类型[] 数组名;(一般用这种写法) B:数据类型 数组名[]; (4)数组的初始化 A:动态初始化 只给长度,系统给出默认值 举例:int[] arr = new int[3]; B:静态初始化 给出值,系统决定长度 举例:int[] arr = new int[]{1,2,3}; 或:int[] arr = {1,2…
package Array; /** * 对数组排序.当添加到阵列保持有序数组元素: * @author wl * */ public class MyOrderArray { private long array[]; private int elements;//用于记录数组中实际数据的个数 public MyOrderArray(){ array=new long[50];//数组默认长度为50: } public MyOrderArray(int capacity){//设置数组的默认长…
package SimpleSort; public class SimpleSort { /** * 冒泡排序:每次循环过程中.小的排在后面的数会像水中的 * 气泡一样慢慢往上冒,所以命名为冒泡排序了,我猜是这样子的..... */ public void BubbleSort(int[] array){ for(int i=0;i<array.length;i++){ for(int j=array.length-1;j>i;j--){//注意此处j是从后往前循环 if(array[j-1…
package com.test6; public class test5 { public static void main(String[] args) { int[] arr = {1, 2, 31, 4, 5, 6, 7, 88, 9, 11, -1}; float[] arr2 = {1, 2, 31, 4, 5, 6, 7, 88.88f, 9, 11.1f, -1f}; ArrayHelper ah = new ArrayHelper(); ah.GetMinAndMax(arr)…