负环是什么 数据结构
答案:2 悬赏:10 手机版
解决时间 2021-02-15 17:21
- 提问者网友:蔚蓝的太阳
- 2021-02-15 11:45
负环是什么 数据结构
最佳答案
- 五星知识达人网友:冷風如刀
- 2021-02-15 12:24
这不是数据结构啊!
负环是指在有向带权图中,存在一些边,连起来成环,这些环的权值和为负
这是图论!!
负环是指在有向带权图中,存在一些边,连起来成环,这些环的权值和为负
这是图论!!
全部回答
- 1楼网友:归鹤鸣
- 2021-02-15 12:55
你看看这个如何
#include
#include
typedef struct lnode
{
int data;
struct lnode *next;
}lnode,*linklist;
void create(linklist &l,int n)
{//创建不带头结点的循环链表,从1开始自动编号
int i;
linklist p,q;
for(i=1;i<=n;i++)
{
p=(linklist)malloc(sizeof(lnode));
p->data=i;//编号
if(l==null)l=q=p;
else
{
q->next=p;
q=p;
}
}
q->next=l;//构成循环链表
}
void joseph(linklist &l,int n,int s,int m)
{//解约瑟夫环,输出出局序列
int i=1,j=1;//j表示报数号
linklist p=l,q;
printf("出局人的编号序列:\n");
while(i++next;//移动到开始报数的编号结点
i=1;
while(n>0)
{
if(j==m-1)//报数到m-1时,准备删除下个结点(即报数到m的人)
{
q=p->next;//q所指的结点即是要删除的
printf("%d\t",q->data);
if(i++%10==0)printf("\n");//每行输出10个数据
p->next=q->next;//删除结点(出局)
free(q);
p=p->next;j=1;//重新开始报数
n--;
}
else
{
j++;
p=p->next;
}
}
printf("\n");
}
void main()
{
linklist l=null;
int n,s,m;//总人数n、开始报数的编号s和出局所报的数字m
printf("输入n,s,m:\n");
scanf("%d%d%d",&n,&s,&m);
create(l,n);
joseph(l,n,s,m);
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯