if(Length==0)
{
Tail=e;
Head=e;
}
else
{
Node temp=cursor();
e.next=temp;
if(Pointer==null)
Head=e;
else
Pointer.next=e;
}
Length++;
}
public int size()
/*返回链表的大小*/
{
return (Length);
}
public Object remove()
/*将当前结点移出链表,下一个结点成为当前结点,如果移出的结点是最后一个结点,则第一个结点成为当前结点*/
{
Object temp;
if(Length==0)
throw new java.util.NoSuchElementException();
else if(Length==1)
{
temp=Head.data;
deleteAll();
}
else
{
Node cur=cursor();
temp=cur.data;
if(cur==Head)
Head=cur.next;
else if(cur==Tail)
{
Pointer.next=null;
Tail=Pointer;
reset();
}
else
Pointer.next=cur.next;
Length--;
}
return temp;
}
private Node cursor()
/*返回当前结点的指针*/
{
if(Head==null)
throw new java.lang.NullPointerException();
else if(Pointer==null)
return Head;
else
return Pointer.next;
}
public static void main(String[] args)
/*链表的简单应用举例*/
{
List a=new List ();
for(int i=1;i=10;i++)
a.insert(new Integer(i));
System.out.println(a.currentNode());
while(!a.isEnd())
System.out.println(a.nextNode());
a.reset();
while(!a.isEnd())
{
a.remove();
}
a.remove();
a.reset();
if(a.isEmpty())
System.out.println("There is no Node in List \n");
System.in.println("You can press return to quit\n");
try
{
System.in.read();
//确保用户看清程序运行结果
}
catch(IOException e)
{}
}
}
class Node
/*构成链表的结点定义*/
{
Object data;
Node next;
Node(Object d)
{
data=https://www.04ip.com/post/d;
next=null;
}
}
读者还可以根据实际需要定义新的方法来对链表进行操作 。双向链表可以用类似的方法实现只是结点的类增加了一个指向前趋结点的指针 。
可以用这样的代码来实现:
class Node
{
Object data;
Node next;
Node previous;
Node(Object d)
{
data=https://www.04ip.com/post/d;
next=null;
previous=null;
}
}
当然,双向链表基本操作的实现略有不同 。链表和双向链表的实现方法,也可以用在堆栈和队列的实现中,这里就不再多写了 , 有兴趣的读者可以将List类的代码稍加改动即可 。
希望对你有帮助 。
将一段java程序片段改成算法伪代码伪代码(Pseudocode)是一种算法描述语言 。使用伪代码的目的是为了使被描述的算法可以容易地以任何一种编程语言(Pascal,C,Java , etc)实现 。因此,伪代码必须结构清晰、代码简单、可读性好,并且类似自然语言 。介于自然语言与编程语言之间 。
链表的创建# include stdio.h
# include malloc.h
# include stdlib.h
typedef struct Node
{
int data;
struct Node* pNext;
}NODE,* PNODE;
PNODE create_list(void);//创建一个链表
void traverse_list(PNODE pHead);//遍历链表
int main(void)
{
PNODE pHead = NULL;
printf("创建链表java创建链表伪代码:\n");
pHead = create_list();
printf("遍历链表:\n");
traverse_list(pHead);
return 0;
}
PNODE create_list(void)
{
int len;//链表中节点数目
int i;
推荐阅读
- 关于postgresql存储口令的信息
- java记住密码的代码,java记住密码的代码有哪些
- 上海小程序开发代理,上海小程序开发公司
- 新媒体行业如何理解,新媒体行业的认识
- c语言中返回字符串函数名 c++函数返回字符串
- sap高阳的简单介绍
- pg数据库行列,pg数据库列转行
- linux定向命令,linux 重定向
- 关于java5子棋代码的信息