//这是我以前写的约瑟夫环的部分代码;
structnode
{
intnum;
intsecret;
node*next;
};
//创建一个循环链表
node*cre(intn)
{node*p1,*p2,*p3;
node*l;
p2=p1=l=(node*)malloc(sizeof(node));//把第一个节点另外放出来。
intx;
cout>x;
p1->num=1;p1->secret=x;//信息输入;
for(inti=2;i>x;
p1->num=i;p1->secret=x;
p2->next=p1;
p2=p1;
}
p1->next=l;
returnl;
}
第二题:建立循环链表后再输出就简单了,只要令P指向头结点,输出P和P->NEXT就行了,然后令P指向P->NEXT;直到P->NEXT==头结点L;
第三题:排序,把第一个结点的数据当成一个有序序列,然后后面几个用插入排序
差不多就这样了吧,我也在学数据结构,不太会...
|