集思广益 排队系统插队问题看似简单 细想很麻烦很麻烦很麻烦......插队问题 3种插队方式:1、根据插队人的类
集思广益 排队系统插队问题看似简单 细想很麻烦很麻烦很麻烦......
插队问题 3种插队方式:
1、根据插队人的类别(绿色通道排队人员、vip排队人员、普通插队人员即此人员没有插队优先级的人员按正常排队)来插队。
2、有某些业务可以优先办理,按照业务类别来更新排队队列。
3、急办业务,每种业务都有急办可能,若是急办业务来插队永远最优先办理,比如队列中有100人,有人来急办插队则排队号是101,但跳到第一位办理,
若在此人后面又有办理急办业务的人员,则排队号102,但跳到第二位办理业务(前一位急办业务101号尚未办理完业务则跳到第二位,
插队时若前一位101号已经办完业务则跳到第一位办理)。
主要是如何能找到这三种插队方式的计算公式问题。
说明:
1、可能一个排队人员 即是vip客户 同时他办理的业务是被设置位优先办理的业务 此客户赶时间把他所办理的业务又成功申请为急办业务,
那么此客户以上三种插队方式都拥有。
2、当然来排队的客户,可能拥有以上插队方式1种或2种或3种 或没有插队方式安照正常先来先办理即安照出票的排队号来排队,
而没有跳到哪位客户前提前办理。
我主要是想找出这3种插队方式的公式 就是计算插队位置
自己也有想法 但还是想征求大家智慧 欢迎讨论踊跃发言啊
[解决办法]
拿个板凳听课。
[解决办法]
[解决办法]每个插队方式都建队列,不管来人用几种插队方式,哪个插队方式的队列人最少,就插到哪.
[解决办法][解决办法]在这又插队了。
[解决办法]看看排课算法
[解决办法]mark
可以做两个队来处理,一个特权队,一个普通队,对外表相可以合为一队,特权队在前,普通队在后
每队内部的处理再来分
[解决办法]这个有啥难的?不就是一共3种特权,在其它条件相同的情况下,急>绿色>vip么(或者vip>绿色,这你都没说清楚)?
加上一个特权值,急=4,绿色=2,vip=1,啥都没有就是0,有一个特权加上一个值。每一个人进队伍,从队尾向前比较特权值大小插入不就完了
[解决办法]看看排课算法
[解决办法]分几个队排,允许内部互插
[解决办法]可以把特权建立一个类似索引的东西,比如零时队列,如果零时队列不为空则先执行零时队列,为空则继续队列下一个任务
我对队列不大懂,纯属个人想法,但愿对你有帮助
[解决办法]排队 学习
[解决办法]楼主只有跳到第一位才算插队吗
[解决办法]应该是有四个排队等级,1是正常,2是插队,3是优先,4是急办
每人人先按来的顺序排队,得先搞四个变量记录每个等级的人数
来的人先确定等级,如等级是3,则它的位置是:等级4的人数+等级3的人数
[解决办法]听课
[解决办法][解决办法]学习
[解决办法]学习一下!
[解决办法]给队列中每个成员附加个权重不就行了
[解决办法]学习学习~了解了解~
[解决办法][解决办法]按照优先等级分配多个队列就可以了
------解决方案--------------------
加权的话每次都得重头到尾搜索一遍队列!不如建立队列索引
数据库就就用个视图之类的不就可以了啊
[解决办法]mark
[解决办法]学习
[解决办法]有点像优先级队列
[解决办法]链表
[解决办法]感觉很深奥啊...
[解决办法]能不能嵌套个程序!需要时零时调用!瞎说得!不要鄙视
[解决办法]关注中......
[解决办法]学习一下
[解决办法]如果设计程序时候事先设计一个处理插队问题的分支会不会好些?
在触发特定条件下进入分支优先处理。
这样就不用弄什么算法了。
直接进入特权分支优先处理。
我是这样想的。不知道对不对。
[解决办法][解决办法]感觉好深奥啊
[解决办法][解决办法]编程只是累!
[解决办法]分成两个或三个来做,三个队列处理有优先级绿色通道>VIP>普通.
每次处理普通的时候都先查看前面两个队列是否为空.为空则处理普通的.
[解决办法]估计就得用一个队列,因为还得根据业务的优先级进行排队,总之得实现一个队列内的排队
比较优先级的方法可以是使用简单的属性进行判断或者使用可以进行快速查找位置的权重值
简单的方式就是逐个比较,找到应该排的位置
我觉得得考虑多线程的控制,这个比较麻烦
[解决办法]关注此问题
[解决办法]我也是来听课的,正好要做方面的东西,听听高手是怎么做的。
[解决办法]细想很麻烦
[解决办法]一個個排隊的人就是一個對象,你的隊列就是 一個個對象的隊列。
而對象則包含了一系列的屬性,這些屬性就是你對排隊級權的設定了!!
到時候你只要按照排隊級權的高低,也就是對象的屬性,來對比一下依次選擇位子就好了啊!!
自己花時間搞搞就出來了,相信你很快能解決這問題的。
[解决办法]你的所有插隊要求,把它設成屬性進對象
[解决办法]这其实不是一个排队应用,而是一个对空闲窗口叫号应用
在实际生活中其实有很简单的处理策略:
例如设置一些VIP,绿色通道优先窗口,在有VIP用户等待和绿色通道用户等待是只办理这样的用户,其他时间才能办理普通用户。
此外针对有可能VIP等用户过多,优先窗口也处理不过来啦,这时可以采用如下的一些策略:
1.对于特殊要求的用户,在分配特殊号时同时分配常规号,这样可以插位到常规窗口办理
2.对常规窗口采用几个普通号后强制插入一个特殊号办理来加速特殊用户的办理,比如每办理3个普通用户可以插入一个特殊号,这样普通窗口只需要配置一个简单的计数器
当然,还要定义VIP和绿色等的相互优先级别。
[解决办法]44楼的方法其实也是一种很好的方法,不过一般实际应用中不建议采用(编号位数会太多)
[解决办法]mark
[解决办法]& # 9 8 2 5
------解决方案--------------------
我搬个床 拿个风扇 裹个被子前来听客
[解决办法]kankan
[解决办法]来学习
[解决办法]回帖是一种美德!
[解决办法]回帖是一种美德!
[解决办法]程序的魅力
[解决办法]我觉得lz可以参考操作系统的某些调度算法。这两个问题是很相似的。
[解决办法]要疯啦!听课听课,顺便开始补课补课
[解决办法]学习一下
[解决办法]