[Javascript Data Structures] 优先队列

简单的优先队列实现
eg: 医院候诊室, 航班座位等级…..

<script type="text/javascript">
   function Queue(){
       var items=[];//queue

       //数据
       function Patient(name,priority){
           this.name=name;
           this.priority=priority;
       }
       //队列功能
       this.arrangment=function(name,priority){
           var patient=new Patient(name,priority);
           //obj
           //如果队列为空, 直接插入
           if (items[0]==null) {
                  items.push(patient);
           }else{
           // 查看病人的优先权
           if (patient.priority==1) {//VIP
             for (var i = 0; i < items.length; i++){
             //找到priority=1和=2的位置
             if (patient.priority<items[i].priority) {
                           items.splice(i,0,patient);
                           break;
                       }                       
                   }                  
               }else{
                   items.push(patient);
               }
           }
            return items;
           } 
       }//Queue


   var queque=new Queue();

   console.log(queque.arrangment("krystal",2));
   console.log(queque.arrangment("jessica",2));
   console.log(queque.arrangment("yoona",1));
   console.log(queque.arrangment("ljy",1));

</script>

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值