| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2415 人关注过本帖
标题:已经从事编程工作四后了,大家有任何的C/C++问题可以找我,我来帮助大家解决 ...
只看楼主 加入收藏
书生牛犊
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:星夜征程
等 级:贵宾
威 望:10
帖 子:1101
专家分:5265
注 册:2015-10-27
收藏
得分:0 
回复 10楼 A15172315112
对链表不熟可以用数组,只要数组大小够大足以容纳所有元素就行了。链表本身其实就是一个特殊的数组。他的优点是可以随时增删元素。

不过,如果你连链表都还不熟悉。我想你对C语言也不会多么熟悉。这道题对你来说超纲了。两种选择,一种是临时抱佛脚,现学现用(上网找个视频啥的结合你的书看看,理解一下链表),一种,找同学借作业XXX

φ(゜▽゜*)♪
2016-09-10 07:16
坚韧的菜鸟
Rank: 2
等 级:论坛游民
帖 子:29
专家分:29
注 册:2014-7-20
收藏
得分:0 
回复 6楼 wp231957
你这么叼、家里人知道么
2016-09-11 10:29
A15172315112
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2016-9-8
收藏
得分:0 
回复 5楼 书生牛犊
嗯,,
2016-09-12 22:40
xuzc
Rank: 1
等 级:新手上路
帖 子:15
专家分:9
注 册:2016-9-13
收藏
得分:0 
我想问一下两段代码有何不同
#include<stdio.h>
#include<algorithm>
using namespace std;
int dfn[500000],low[500000],stack[900000],j,number,n,m,x,y,w,hh[600000],i,cnt,top,c,q,ans,yy[100000];
int color[400000],u,num,p[400000];
bool d[500000];
struct node
{
 int next,z,e;
}b[110000];
void add(int aa,int bb)
{
 b[++cnt].e=bb;
 b[cnt].next=hh[aa];
 hh[aa]=cnt;   
}
int tarjan(int k)
{
  dfn[k]=low[k]=++number;
  stack[++top]=k;
  d[k]=true;
  for(i=hh[k];i!=0;i=b[i].next)   
  {
      if(!dfn[b[i].e]){
       tarjan(b[i].e);
       low[k]=min(low[k],low[b[i].e]);   
      }
     else if(d[b[i].e]==true)
     {
      low[k]=min(low[k],dfn[b[i].e]);
     }
  }
     if(dfn[k]==low[k])
     {
      color[k]=++num;
      d[k]=false;
      p[num]++;
      while(stack[top]!=k)
      {
       p[num]++;
       color[stack[top]]=num;
       d[stack[top--]]=false;
      }
      top--;
     }
  return 0;
}
int main()
{
 scanf("%d %d",&n,&m);
 u=1;
 for(i=1;i<=m;i++)
 {
  scanf("%d %d %d",&x,&y,&w);
  if(w==1)add(x,y);
  else{
      add(x,y);add(y,x);
  }
 }
 for(j=1;j<=n;j++)
 {
  if(!dfn[j])tarjan(j);
 }
 for(i=1;i<=n;i++)
 {
  if(p[color[i]]>ans)ans=p[color[i]],u=i;   
 }
 printf("%d\n",ans);
 for(i=1;i<=n;i++)
 {
  if(color[i]==color[u])printf("%d ",i);
 }
 return 0;

}


以上是ac代码   但我原本tarjan里写的是
if(dfn[k]==low[k])
     {
      color[k]=++num;
      while(1)
      {
       p[num]++;
       d[top]=false;
       color[stack[top--]]=num;
       if(stack[top+1]==k)break;
      }
     }
十个点全错了,求解释两段代码难道有什么不一样吗,没看出来
2016-09-13 10:44
Joya
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2016-9-13
收藏
得分:0 
十几年前中国的功能机开发中,彩屏的小游戏,不知道现在还有没有人会用C语言进行开发呐?
非常急需呀
对应的系统是展讯的系统
直接操作显存或者基于OpenGL的
小游戏类似于贪吃蛇,推箱子,星际大战,赛车之类的~
用户需要通过话费购买才能玩儿,应该很多年前用过功能机的人都知道。
不知道哪位大神还有这个东西的源码,或者还有这项技术会弄这个
产品外包也行,源码购买也行,如果有资源的大神,麻烦麻烦加一下QQ2853829204,联系我~~~谢谢谢谢
2016-09-13 13:56
sumbor
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2016-9-12
收藏
得分:0 
请问下楼主!!怎么在codeblocks这个软件中用命令行(cmd)编译运行C程序!!不太会呀!!
2016-09-14 19:46
快速回复:已经从事编程工作四后了,大家有任何的C/C++问题可以找我,我来帮助大 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017967 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved