近日研究线性表的特性,做了相关的顺序表和链表的类
来源:互联网 发布:photoshop软件mac版本 编辑:程序博客网 时间:2024/06/06 19:08
/** *//**
* 顺序表 NormailList类
* @author gzBlackDuck
*/
public class NormailList ...{
private int[] myList;//存储顺序表
public NormailList(int[] list)
...{
this.myList = list;
}
/** *//***
* 查看顺序表的长度
*/
public int getMyListLength()
...{
return this.myList.length;
}
/** *//**
* 打印具体顺序表值
* 查询
*/
public void printMyList()
...{
for(int one : this.myList)
...{
System.out.printf(one+" ");
}
System.out.printf(" ");
}
/** *//**
* 获取指定顺序表中的值
* @param index
* @return
*/
public int getOneValue(int index)
...{
return this.myList[index];
}
/** *//**
* 修改
* @param index
* @param value
*/
public void setOneValue(int index,int value)
...{
this.myList[index] = value;
}
/** *//**
* 查找顺序表中的域
* @param value 查询域中的值
* @return 索引值
*/
public int seachValue(int value)
...{
int index = -1;
for(int i= 0;i<this.myList.length;i++)
...{
if(this.myList[i]==value)
...{
index = i;
break;
}
}
return index;
}
/** *//**
* 插入新的域
* @param index 插入点
* @param value 插入值
*/
public void insertOne(int index,int value)
...{
int length = this.myList.length;
int[] newList = new int[length+1] ;
int i=0;
for(;i<index-1;i++)
newList[i] = this.myList[i];
newList[i] = value;
for(;i<length;i++)
newList[i+1] = this.myList[i];
this.myList = newList;
}
/** *//**
* 删除其中一个域
* @param index
*/
public void deleteOne(int index)
...{
int length = this.myList.length;
int[] newList = new int[length-1] ;
for(int i =index;i<length-1;i++)
...{
this.myList[i] = this.myList[i+1];
}
for(int i =0;i<length-1;i++)
...{
newList[i] = this.myList[i];
}
this.myList = newList;
}
}
* 顺序表 NormailList类
* @author gzBlackDuck
*/
public class NormailList ...{
private int[] myList;//存储顺序表
public NormailList(int[] list)
...{
this.myList = list;
}
/** *//***
* 查看顺序表的长度
*/
public int getMyListLength()
...{
return this.myList.length;
}
/** *//**
* 打印具体顺序表值
* 查询
*/
public void printMyList()
...{
for(int one : this.myList)
...{
System.out.printf(one+" ");
}
System.out.printf(" ");
}
/** *//**
* 获取指定顺序表中的值
* @param index
* @return
*/
public int getOneValue(int index)
...{
return this.myList[index];
}
/** *//**
* 修改
* @param index
* @param value
*/
public void setOneValue(int index,int value)
...{
this.myList[index] = value;
}
/** *//**
* 查找顺序表中的域
* @param value 查询域中的值
* @return 索引值
*/
public int seachValue(int value)
...{
int index = -1;
for(int i= 0;i<this.myList.length;i++)
...{
if(this.myList[i]==value)
...{
index = i;
break;
}
}
return index;
}
/** *//**
* 插入新的域
* @param index 插入点
* @param value 插入值
*/
public void insertOne(int index,int value)
...{
int length = this.myList.length;
int[] newList = new int[length+1] ;
int i=0;
for(;i<index-1;i++)
newList[i] = this.myList[i];
newList[i] = value;
for(;i<length;i++)
newList[i+1] = this.myList[i];
this.myList = newList;
}
/** *//**
* 删除其中一个域
* @param index
*/
public void deleteOne(int index)
...{
int length = this.myList.length;
int[] newList = new int[length-1] ;
for(int i =index;i<length-1;i++)
...{
this.myList[i] = this.myList[i+1];
}
for(int i =0;i<length-1;i++)
...{
newList[i] = this.myList[i];
}
this.myList = newList;
}
}
/** *//**
* 链表 LinkList.java
* @author gzBlackDuck
*
*/
public class LinkList ...{
private LinkBean lb;
public LinkList()
...{
lb=new LinkBean(0,null);//创建一个起始点(自用)
}
public void AddAlink(int value)
...{
LinkBean newLink = new LinkBean(value,null);
LinkBean lastLink = this.SelLastLink();
lastLink.setAlinkAddress(newLink);
}
public void DelAlink(int index)
...{
LinkBean currentLink = null;
LinkBean nextLink = lb;
if(nextLink.getAlinkAddress()!=null)
...{
for(int i=0;i<=index;i++)
...{
currentLink = nextLink;
nextLink = currentLink.getAlinkAddress();
}
currentLink.setAlinkAddress(nextLink.getAlinkAddress());
}
}
public LinkBean SelLastLink()
...{
LinkBean lastLink = lb;
while(true)
...{
if(lastLink.getAlinkAddress() != null)
lastLink = lastLink.getAlinkAddress();
else
break;
}
return lastLink;
}
public void printLinkList()
...{
LinkBean lastLink = lb;
while(lastLink.getAlinkAddress() != null)
...{
lastLink = lastLink.getAlinkAddress();
System.out.printf(lastLink.getValue()+" ");
}
}
}
//--------------------------------------
/** *//**
* 链表域
*/
class LinkBean ...{
private int value;
private LinkBean alinkAddress;//架设为地址
public LinkBean(int value, LinkBean alinkAddress)
...{
this.setAlinkAddress(alinkAddress);
this.setValue(value);
}
public int getValue() ...{
return value;
}
public void setValue(int value) ...{
this.value = value;
}
public LinkBean getAlinkAddress() ...{
return alinkAddress;
}
public void setAlinkAddress(LinkBean alinkAddress) ...{
this.alinkAddress = alinkAddress;
}
}
* 链表 LinkList.java
* @author gzBlackDuck
*
*/
public class LinkList ...{
private LinkBean lb;
public LinkList()
...{
lb=new LinkBean(0,null);//创建一个起始点(自用)
}
public void AddAlink(int value)
...{
LinkBean newLink = new LinkBean(value,null);
LinkBean lastLink = this.SelLastLink();
lastLink.setAlinkAddress(newLink);
}
public void DelAlink(int index)
...{
LinkBean currentLink = null;
LinkBean nextLink = lb;
if(nextLink.getAlinkAddress()!=null)
...{
for(int i=0;i<=index;i++)
...{
currentLink = nextLink;
nextLink = currentLink.getAlinkAddress();
}
currentLink.setAlinkAddress(nextLink.getAlinkAddress());
}
}
public LinkBean SelLastLink()
...{
LinkBean lastLink = lb;
while(true)
...{
if(lastLink.getAlinkAddress() != null)
lastLink = lastLink.getAlinkAddress();
else
break;
}
return lastLink;
}
public void printLinkList()
...{
LinkBean lastLink = lb;
while(lastLink.getAlinkAddress() != null)
...{
lastLink = lastLink.getAlinkAddress();
System.out.printf(lastLink.getValue()+" ");
}
}
}
//--------------------------------------
/** *//**
* 链表域
*/
class LinkBean ...{
private int value;
private LinkBean alinkAddress;//架设为地址
public LinkBean(int value, LinkBean alinkAddress)
...{
this.setAlinkAddress(alinkAddress);
this.setValue(value);
}
public int getValue() ...{
return value;
}
public void setValue(int value) ...{
this.value = value;
}
public LinkBean getAlinkAddress() ...{
return alinkAddress;
}
public void setAlinkAddress(LinkBean alinkAddress) ...{
this.alinkAddress = alinkAddress;
}
}
赠予入口点
/** *//**
* 程序入口点 Program.java
* @author gzBlackDuck
*
*/
public class Program ...{
public static void main(String[] args)
...{
NormailList nList = new NormailList(new int[]...{1,2,3,4,5});
nList.printMyList();//看顺序表的长度
nList.insertOne(1, 9);
nList.printMyList();//看顺序表的长度
nList.deleteOne(2);
nList.printMyList();//看顺序表的长度
//----------链表
LinkList links = new LinkList();
links.AddAlink(10);
links.AddAlink(20);
links.AddAlink(9);
links.AddAlink(2);
links.AddAlink(12);
links.printLinkList();
links.DelAlink(1);
System.out.print(" ");
links.printLinkList();
}
}
- 近日研究线性表的特性,做了相关的顺序表和链表的类
- 线性表的顺序表示和实现
- 线性表的顺序表示和实现
- 线性表的顺序表示和实现
- 线性表的顺序表示和实现
- 线性表的顺序表示和实现
- 线性表的顺序表示和实现
- 线性表的顺序表示和实现
- 线性表的顺序表示和实现
- 线性表的顺序表示和操作
- 线性表的顺序表示和实现
- 线性表的顺序表示和实现
- 线性表的顺序表示和实现
- 线性表的顺序表示和实现
- 线性表的顺序表示和实现
- 线性表的顺序表示和实现
- 线性表的顺序表示和实现
- 线性表的顺序表示和实现
- 如何从桌面系统下安装WinCE平台下Pocket PC应用程序
- 没事也写写blog吧
- 电脑只能上QQ不能开网页
- Oracle系列:Record + PL/SQL表
- FRC阅读软件及打印
- 近日研究线性表的特性,做了相关的顺序表和链表的类
- 程序比赛小胜
- RobotToy 0.3发布
- va_list、va_start、va_arg、va_end的原理与使用
- BCB中将DBGrid的内容保存为EXCEL文件格式,保存时可以选择保存路径
- 关于SOA的一点基础知识
- 在HTML中接收地址栏中传递的参数
- 求助:如何用c#和AE实现测距、测面积等操作?
- starts here