数组的例子
public class ArrayApp
{
/**
* @param args
*/
public static void main(String[] args)
{
// TODO Auto-generated method stub
long[]arr;
arr=new long[100];
int nElems=0;
int j;
long searchkey;
arr[0]=77;
arr[1]=99;
arr[2]=44;
arr[3]=55;
arr[4]=22;
arr[5]=88;
arr[6]=11;
arr[7]=00;
arr[8]=66;
arr[9]=33;
nElems=10;
for(j=0;j<nElems;j++)
System.out.println(arr[j]+" ");
System.out.println("");
searchkey=66;
for(j=0;j<nElems;j++)
if(arr[j]==searchkey)
break;
if(j==nElems)
System.out.println("Can't find"+searchkey);
else
System.out.println("Found"+searchkey);
searchkey=55;
for(j=0;j<nElems;j++)
if(arr[j]==searchkey)
break;
for(int k=j;k<nElems;k++)
arr[k]=arr[k+1];
nElems--;
for(j=0;j<nElems;j++)
System.out.println(arr[j]+" ");
System.out.println(" ");
}
}
在这个数组存储的数据类型是long型。使用long为的是表明这是数据,而int型被用来表示下标。为简化编码我们选择简单类型。通常数据结构中存储的数据项包含有好几个字段,所以应该由对象而不是简单类型来代表它们。
插入
向数组插入一个数据项很容易,这里使用了常规的数组语法:
arr[0]=77;
用变量nElems记录已经插入数据项的个数。
查找
变量searchKey保存了待查找的值。在查找过程中,用searchkey一个一个地与数组中的数据项比较。如果循环变量j变化到最后一个数据项,但是仍旧没有匹配上,这个值就不在数组中。屏幕上会显示有关消息:Found 66 或 Can't find 27.
删除
删除从查找特定的数据项开始。为了简化问题,可以假设(有能太草率了)该数据项在数组中。找到该数据项后,向前移动所有下标比它大的数据项亚填补删队除后的留下的"洞"并将nElems减一。在一个实际的程序中,如果没有找到要删除的数据项的话,还要采取一些相关的操作。
显示
将所有的数据项显示出来是很简单的:逐步读取arr[j]数组的每个数据项,然后将它显示出来。
程序结构
程序结构中有些部分还是需要改进的。程序中只有一个类,这个类只有一个方法main().实际上是一个老式的面向过程的程序使之更加对象化