|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
因为能用到多少功能就用多少,不能用就不用!总的来说:要简单要性能好,可以不用框架。你说java复杂,就是因为你把java(j2ee)与这些框架混在了一起。线性表是一种能够在恣意地位拔出和删除元素,由n个同范例元素构成的线性布局。次要包含按次表,单链表,轮回单链表,双向链表和仿真链表。使用对照普遍的是按次表和单链表。
上面是线性表的接口,次要操纵包含拔出元素,删除元素,获得元素,失掉线性表元素个数,判别线性表是不是为空。
packagecom.nishizhen.list;
publicinterfaceList{
publicvoidinsert(inti,Objectobj)throwsException;
publicvoiddelete(inti)throwsException;
publicObjectgetData(inti)throwsException;
publicintsize();
publicbooleanisEmpty();
}
按次表:
按次表拔出一个元素必要挪动元素的均匀次数为n/2次,删除一个元素必要挪动元素次数为(n-1)/2,以是按次表的工夫庞大度为O(n)。
按次表的完成以下
packagecom.nishizhen.list;
publicclassSeqListimplementsList{
finalintdefaultSize=10;
intmaxSize;//按次表的最年夜长度
intsize;//线性表以后长度
Object[]listArray;//存储线性表元素的数组
publicSeqList(intsize){
initiate(size);
}
publicSeqList(){
initiate(defaultSize);
}
publicvoidinitiate(intsz){
maxSize=sz;
size=0;
listArray=newObject[sz];
}
publicvoidinsert(inti,Objectobj)throwsException{
if(size==maxSize){
thrownewException("按次表已满,不克不及再拔出元素。");
}
if(i<0||i>maxSize){
thrownewException("参数有误。");
}
else{
for(intj=size;j>=i;j--){
listArray[j]=listArray[j-1];
}
listArray=obj;
size++;
}
}
publicvoiddelete(inti)throwsException{
if(size==0){
thrownewException("按次表为空,没法举行删除元素操纵。");
}
if(i<0||i>=size){
thrownewException("参数堕落。");//数组下标不克不及小于0大概年夜于size,由于size及其今后的元素为空。
}
else{
for(intj=size-1;j>=i;j--){
listArray[j-1]=listArray[j];
}
listArray[listArray.length-1]="";
size--;
}
}
publicObjectgetData(inti)throwsException{
if(size==0){
thrownewException("按次表为空,没法前往元素。");
}
if(1<0||i>=size){
thrownewException("参数堕落。");//数组下标不克不及小于0大概年夜于size,由于size及其今后的元素为空。
}
else{
returnlistArray;
}
}
publicintsize(){
returnlistArray.length;
}
publicbooleanisEmpty(){
booleanflag=false;
if(listArray.length==0){
flag=true;
}
returnflag;
}
}
单链表:
你通过从书的数量和开发周期及运行速度来证明:net网页编程和ruby要比java简单。 |
|