开关盒布线(stack)

博客给出一段代码,定义了数组 net,实现了 CheckBox 函数。该函数利用栈数据结构,通过遍历数组元素,判断元素是否与栈顶元素相等来进行入栈或出栈操作,最终根据栈是否为空判断网组是否可布线,还给出了参考书籍。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

int net[]={1,2,2,1,3,3,4,4};
bool CheckBox(int net[], int n)
{
 Stack<int> *s=new Stack<int>(n);
 for(int i=0; i<n;i++)
 {
  if(!s->IsEmpty())
  {
   if((net[i]==net[s->Top()])
   {
    int x;
    s->Delete(x);
   }
   else
    s->Add(i);
  }
  else
   s->Add(i);
 }
 // 是否有不可布线的网组
 if(s->IsEmpty())
 {
  delete s;
  cout<<"Switch box is routable"<<endl;
  return true;
 }
 delete s;
 cout <<"Switch box is not routable"<<endl;
 return false;
}

Ref:<<数据结构,算法与应用>>P176~178

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值