java实现顺序链表

 

C&C++是那么难学,以至于我连指针是什么都不知道。所以只能学习java了。

如今想用java实现N年前学过“数据结构(c语言版)”却又是那么吃力!

慢慢练吧!

写此博客,仅标记自己学过数据结构。以《数据结构(C语言版)》-严蔚敏 书本为参考。

 

顺序链表的java类文件:SequenceList.java文件

package list;



public class SequenceList {
	private int LIST_INIT_SIZE = 5;//链表的原始大小
	private int INCREMENT =1;//链表的增量大小
	private Object []SqList = null;//链表
	private int curIndex=0;//当前位置
	/**
	 * 初始化链表
	 * */
	public void initList()
	{
		SqList = new Object[LIST_INIT_SIZE];
	}
	/**
	 * 向链表中插入元素
	 * */
	public void insertList(Object o)
	{
		if(curIndex>LIST_INIT_SIZE-1)//判断当前链表是否已经满
		{
			//从新为链表分配空间
			System.out.println("从新分配空间");
			LIST_INIT_SIZE+=INCREMENT;
			Object []temp = new Object[LIST_INIT_SIZE];
			for(int i=0;i curIndex) 
		{
			System.out.println("获取位置超出了链表中元素个数"+curIndex);
		}
		return SqList[i-1];
	}
	/**
	 * 打印链表
	 * */
	public void print()
	{
		for(int i=0;i

  Main函数测试类

package list;

public class SequenceListMain {

	public static void main(String[] args) {
		SequenceList sqList = new SequenceList();
		sqList.initList();
		sqList.insertList(1);
		sqList.insertList(2);
		sqList.insertList(3);
		sqList.insertList(4);
		sqList.insertList(5);
		sqList.insertList(6);
		sqList.delete(5);
		sqList.delete(9);
		sqList.insertList(1);
		sqList.print();
		
		sqList.delete(1);
		sqList.print();
		
		System.out.println("第2个元素是:"+sqList.getElement(1));
		System.out.println("第4个元素是:"+sqList.getElement(4));
		
	}

}

  

你可能感兴趣的:(java,数据结构与算法,c/c++)