|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
多谢指点,其实我对.net和ruby也不是很了解,对与java也只是刚起步的阶段,只是在学习中有了点想法就写出来了,现在俺本科还没毕业,所以对大型项目基本上也没有什么经验。数据|数据布局/*
*Createdon2004-9-10
*
*单链表中的结点范例声明.
*/
packageorg.arliang;
/**
*@author李梁
*
*单链表中的结点.
*/
publicclassnode
{
privateintdata;//寄存数据
privatenodelink;//链接的下一个接点.
publicstaticvoidmain(String[]args)
{
}
/**
*@returnReturnsthedata.
*/
publicintgetData()
{
returndata;
}
/**
*@paramdata
*Thedatatoset.
*/
publicvoidsetData(intdata)
{
this.data=data;
}
/**
*@returnReturnsthelink.
*/
publicnodegetLink()
{
returnlink;
}
/**
*@paramlink
*Thelinktoset.
*/
publicvoidsetLink(nodelink)
{
this.link=link;
}
/**
*@paramlinkList
*链表中的头结点
*@paramK
*在链表中的地位
*@return找到的结点,假如没有找到,则返加NULL
*/
publicnodefindNode(nodelinkList,intk)
{
inti=1;
nodea;
//初始化时,令a指向第一个元素,i为计数器.
a=linkList.getLink();
while(a!=null&&i<k)
{
a=a.getLink();
}
//慢慢的取下一个数.
returna;
}
/**
*@paramlinkList链表的头结点
*@paramk拔出的地位,将在这个地位之前拔出
*@paramelem要拔出的结点
*@return是不是乐成,乐成前往0
*/
publicintinsertNode(nodelinkList,intk,nodeelem)
{
nodea,b;
if(k==1)
{
elem.setLink(linkList);
}
else
{
a=findNode(linkList,k-1);
if(a!=null)
{
b=a.getLink();
a.setLink(elem);
elem.setLink(b);
}
else
return-1;
}
return0;
}
/**
*@paramlinkList链表的头结点
*@paramk地位
*@return是不是乐成,乐成前往0
*/
publicintdeleteNode(nodelinkList,intk)
{
nodea,b;
if(k==1)
{
linkList.setLink(null);
}
else
{
a=findNode(linkList,k);
if(a!=null)
{
b=a.getLink();
a.setLink(b.getLink());
return-1;
}
}
return0;
}
}
--------------------------------------------------------------------------------------
/*
*创建人Administrator
*创立日期2004-9-10
*
*/
packageorg.arliang;
/**
*@authorAdministrator
*
*选领袖.N个游戏者围成一圈,从第一团体入手下手按次报数1,2,3.凡报到3者加入圈子,最初留在圈中的工资领袖.
*结点编号是从0入手下手而不是从1入手下手.
*/
publicclassselectHead
{
/**
*创立链表.创立给定命目个数的链表,并将其首尾连起构成环.
*
*@paramn
*@return该链表的首节点
*/
publicnodecreateList(intn)
{
nodeheadNode=newnode();
inti=1;
headNode.setData(0);//头节点
nodea=headNode;
while(i<n)
{
nodeb=newnode();
b.setData(i);
a.setLink(b);
a=b;
i++;//该轮回不克不及丢,不然成为逝世轮回
}
a.setLink(headNode);//构成环
returnheadNode;
}
/**
*输入以后链表中的数据
*
*@paramlinkList链表的头结点
*/
publicvoidoutputData(nodelinkList)
{
//构成环以后要注重标识头结点的地位,关于只要一个了节点的链其大概构成逝世轮回.
nodea;
a=linkList;
nodeb=a.getLink();
while(b.getData()!=a.getData())
{
//因为是环,故如许判别,但该判别其实不周密
System.out.print(b.getData());
b=b.getLink();//猎取下一个节点
}
}
/**
*实行该游戏
*@paramlinkList链表的头结点
*@paramn该链表的总个数
*/
publicvoidplay(nodelinkList,intn)
{
intk;
nodea=linkList;
nodeb;
k=n;
while(k>1)
{
//从以后节点向下走一个节点后,则以后的报数应当是2
a=a.getLink();//该节点的报数应当是2
b=a.getLink();//该节点的报数应当是3,要删除
a.setLink(b.getLink());//将B节点删除.
a=a.getLink();//将以后节点换为删除节点以后的节点.
k--;//已删除一个节点
}
System.out.print("了局"+Integer.toString(a.getData()));
//输入最初还在圈中的节点
}
/**
*@paramargs
*/
publicstaticvoidmain(String[]args)
{
selectHeadsh=newselectHead();//创立对象
nodea=sh.createList(9);//创立链表环
sh.outputData(a);//检察数据
sh.play(a,9);//实行游戏.
}
}
如果你学习的是市场营销,是销售,也许参加大课堂的学习会更合适,因为你的工作能力中有个基础就是搭建自己的人脉, |
|