?? josephus.cpp
字號:
//2008.2.6//
#include "LList.h"
/*--------------------Josephus函數---------------------------*/
void Josephus(LinkList *L,int n,int k,int m )
{
LinkList p,q;
int i;
p=*L;
for(i=1;i<k;i++) p=p->next;
while(n!=1)
{ if(m==1)
q=p;
else
{
if(m==2)
{
q=p;p=p->next;
}
else for(i=1;i<m;i++)
{
p=p->next;
if(i==m-2) q=p;
}
}
if(n==2){
q->next=NULL;
printf("The finaldate is %d\n",q->date);
p->next=NULL;
}
else
{
q->next=p->next;
printf("delete is %d\n",p->date);
p=q->next;
}
--n;
}
*L=p;
}
/*-------------------------主函數------------------------*/
void main()
{
int arr[100];
int i,n,total;int k,m;
LinkList Link;
printf("Your length is ");
scanf("%d",&n);
printf("please creat the Linklist\n");
for(i=1;i<=n;i++)
{
scanf("%d",&arr[i-1]);
}
total=i; /*總計元素數量*/
Link=creat(Link,arr,total);
printf("\n");
output(Link,total);
printf("please choice from which one\n");
scanf("%d",&k); /*K代表從第幾個數開始*/
printf("please choice delete the number\n");
scanf("%d",&m);
if(m==0) printf("your input is wrong\n");
else Josephus(&Link,total,k,m); /*m代表刪除第幾個數*/
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -