1.打印序列
void PrintCList(CLinkList &L,int n){
int i = L->data;
int j = 0;
CLinkList p = L->next;
CLinkList t = L;
CLinkList q = NULL;
while(i>0){
if(p->next!=L){
j++;
if(j%n==0){
printf("%2d ",p->data);
if(i>1){
printf("-->");
}
i--;
L->data--;
q = p;
t->next = q->next;
}
else{
t = t->next;
}
p = p->next;
free(q);
}
else{
j++;
if(j%n==0){
printf("%2d ",p->data);
if(i>1){
printf("-->");
}
i--;
L->data--;
q = p;
t->next = q->next;
t = L;
}
else{
t = t->next->next;
}
p = p->next->next;
free(q);
}
if(i==1){
printf("%2d ",p->data);
i--;
L->data--;
L->next = L;
free(p);
}
}
t = NULL;
}
2.主函数
int main(){
int n;
printf("输入被叫数字:");
scanf("%d",n);
CLinkList L;
InitList(L);
printf("%d\n",L->data);
PrintList(L);
cout<<endl;
PrintCList(L,n);
return 0;
}
3.循环链表基本操作
点击查看:循环链表基本操作的实现
——————END——————
作者注:
记录学习,分享经验。 有兴趣可以关注博主,以后还会持续更新内容哦~
|