求大神帮忙做一下关于数据结构的题目,跪谢,悬赏100分!!!

数据结构综合设计设计题目一约瑟夫环问题的实现【问题描述】设有n个人围坐在圆桌周围,现从某个位置m(1≤m≤n)上的人开始报数,报数到k的人就站出来。下一个人,即原来的第k... 数据结构综合设计
设计题目一 约瑟夫环问题的实现
【问题描述】
设有n个人围坐在圆桌周围,现从某个位置m(1≤m≤n)上的人开始报数,报数到k的人就站出来。下一个人,即原来的第k+1个位置上的人,又从1开始报数,再报数到k的人站出来。依此重复下去,直到全部的人都站出来为止。试设计一个程序求出出列序列。
这是一个典型的循环表问题,因为要不断地出列,采用顺序表或链表的存储形式都能模拟出列的情况。

设计题目二 通讯录管理问题
【问题描述】
设计一个通讯录的日常管理程序。主要包括对通讯人的录入、浏览、插入新的通讯人和删除已有通讯人。每个通讯人的资料包括编号、姓名、性别、手机号。
展开
 我来答
扈怀炜4h
推荐于2016-12-01 · TA获得超过6036个赞
知道大有可为答主
回答量:6907
采纳率:67%
帮助的人:1289万
展开全部

约瑟夫环很简单:

#include<stdio.h> 
#include<stdlib.h> 
typedef struct node{ 
int value; 
struct node *next; 
}NODE; 
//建立循环链表(尾插法建立)//
NODE *createlink(int number) 

NODE *head=NULL,*p=NULL,*q=NULL; 
int i=1; 
head=(struct node*)malloc(sizeof(struct node)); 
//***建立第一个节点***// 
head->value=i; 
p=head; 
for(i=2;i<=number;i++) 

q=(struct node*)malloc(sizeof(struct node)); 
if(q==0) return 0; 
p->next=q; 
p=q; 
p->value=i; 

p->next=head; 
return head; 

//建立约瑟夫环
void jose(NODE *p,int number,int n) 

int i,j,g=0; 
NODE *q=NULL; 
for(i=1;i<=number;i++) 

for(j=1;j<n-1;j++) 
p=p->next; 
q=p->next; 
//***q用来记录要删除的节点
p->next=q->next; 
//****删去q节点
p=p->next; 
printf("第%3d个出圈号是:%3d\n",i,q->value); 
free(q); 

printf("\n"); 
// 
p->next=NULL; 

//主函数

int main( ) 

 int number=0; 
 int n=0; 
printf("请输入总人数number和出拳编号n:\n"); 
scanf("%d",&number); 
scanf("%d",&n); 
NODE *head=NULL; 
head=createlink(number); 
jose(head,number,n); 
system("PAUSE"); 
return 1; 


第二个直接用单链表就可以了,写不下了,你再问一个,我给你第二个的
超圣科技
2024-10-17 广告
数据分类分级是确保数据安全与合规性的重要环节。在北京超圣信华科技有限公司,我们严格遵循行业标准与法律法规,将数据按敏感程度划分为不同等级,如公开级、内部级、机密级等。通过精细化分类,实现对数据访问权限的精准控制,防止数据泄露与滥用。同时,针... 点击进入详情页
本回答由超圣科技提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式