LinkList p;; /link,int k;*循环地删除队列结点*,m为出列者喊到的数
专注于为中小企业提供成都网站制作、成都网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业革吉免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
{
/
}
p-;n最后被删除的元素是;
for(int i=0;data);link;
for(i=0;*使链表循环起来*,int m) /m-1,P-;
p=p-;;i++)
{
p=(LinkList)malloc(sizeof(LNode)); /link,p-;ilt;
}
r-;n为总人数;link;
p=p-;;
p=list;
p=r-;
}
,k为第一个开始报数的人;i++)
{
r=p;* p为当前结点 r为辅助结点;
⒊不断地从链表中删除链结点;
else
r-;link=p;
free(p),r;
p-;data);,无头结点的循环链表;*建立循环链表*:%4dquot;ilt;*使p指向头节点*!=p)
{
for(i=0; /n:%4d link=p-;data=i;
if(list==NULL)
list=p;
printf(ilt;k;
}
printf(
r=p;link=list。
void JOSEPHUS(int n;*把当前指针移动到第一个报数的人*/
/i++)
{
r=p,指向p的前驱结点 list为头节点*/link解决问题的核心步骤,list:(程序的基本算法)
⒈建立一个具有n个链结点;
⒉确定第1个报数人的位置;
while(p-,直到链表为空;被删除的元素
//如果感兴趣的话,可以把下面的改成泛型的也就是这样的
//一个学生的类
public class Stu(){
String name;
int age;
public Stu(String name,int age){
this.name=name;
this.age=age;
}
}
//创建两个学生的对像
Stu stu1=new Stu("weiwie",24);
Stu stu2=new Stu("xiaoqiang",25);
//创建集合类,存放的是Stu对像,这样的声明只能存Stu对像
List Stu list=new ArrayListStu();
//存数据
list.add(stu1);
list.add(stu2);
//遍历
for(int i=0;ilist.size();i++){
//向下转型方便了,取出来的就是Stu对像
Stu stu=list.get(i);
}
List list=new ArrayList();
list.add("对像");
遍历
for(int i=0;ilist.size();i++){
//需要强转
String str=(String)list.get(i);
得到你存放的数据
}
Map map=new HashMap();
//存值
map.put("one","对像");
//取值
String str=(String)map.get("one");
Set set=new HashSet();
//存值
set.add("对像");
//需要用这个对像遍历
Iterator iter=set.iterator();
while(iter.hasNext()){
//取值
String Str=(String)iter.next();
}
可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。
循环链表
java