ps:
1、不用考慮「假溢位」的情況。
2、出佇列時間複雜度為o(n)。將出佇列元素後的元素均往前移1個索引。
/*
** file name: seqpriorityqueue.h
** author: zhoufeng
** date: 2012/03/29
*/#ifndef seq_priority_queue_h
#define seq_priority_queue_h
#define bool int
#define true 1
#define false 0
#define error 0
#define success 1
#define max_size 100
typedef int eletype;
typedef struct queueele
queueele;
typedef struct seqpriorityqueue
seqpriorityqueue;
void initspq(seqpriorityqueue *spq);
int spqdelete(seqpriorityqueue *spq, queueele *pqueueelement);
bool isspqempty(seqpriorityqueue *spq);
int getspq(seqpriorityqueue *spq, queueele *pqueueelement);
#endif
/*
** file name: seqpriorityqueue.h
** author: zhoufeng
** date: 2012/03/29
*/#include #include #include "seqpriorityqueue.h"
void initspq(seqpriorityqueue *spq)
for(i = 0; i < max_size; ++i)
spq->nrear = 0;
spq->ncount = 0;
} (spq->aspqueue)[spq->nrear] = queueele;
++(spq->nrear);
++(spq->ncount);
return success;
}int spqdelete(seqpriorityqueue *spq, queueele *pqueueelement)
/* get the max priority index. */
nmaxpriority = (spq->aspqueue)[0].npriority;
for(index = 1; index < spq->ncount; ++index)
else
}(*pqueueelement).npriority = nmaxpriority;
(*pqueueelement).data = (spq->aspqueue)[nmaxindex].data;
for(index = nmaxindex + 1; index < spq->ncount; ++index)
--(spq->ncount);
return success;
}bool isspqempty(seqpriorityqueue *spq)
if(spq->ncount == 0)
else
}int getspq(seqpriorityqueue *spq, queueele *pqueueelement)
/* get the max priority index. */
nmaxpriority = (spq->aspqueue)[0].npriority;
for(index = 1; index < spq->ncount; ++index)
else
}(*pqueueelement).npriority = nmaxpriority;
(*pqueueelement).data = (spq->aspqueue)[nmaxindex].data;
return success;
}
測試程式:
#include #include "seqpriorityqueue.h"
int main(int argc, char *argv)
for(i = 50; i < max_size; ++i)
printf("\n");
printf("[get queue]\npriority data\n");
printf("--------- -------\n");
while(!isspqempty(&spq))
return 0;
}
gdb除錯:clear清除斷點、u跳出迴圈。
如何定義css優先順序順序
1.層疊選擇器的優先順序 瀏覽器預設 外部樣式表 內部樣式表 內聯樣式 其中,樣式表優先順序 類選擇器 類派生選擇器 id選擇器 id派生選擇器 生選擇器以前叫上下文選擇器,所以完整的層疊優先順序是 瀏覽器預設 外部樣式表 外部樣式表類選擇器 外部樣式表類派生選擇器 外部樣式表id選擇器 外部樣式表...
樣式表優先順序順序
1 最高優先順序的位置是html文件頭部的元素。2第二優先順序的位置是元素中 import語句所匯入的樣式表。3第三優先順序的位置是元素附加的樣式表 4第四優先順序的位置是元素附加的樣式表中的 import語句所匯入的樣式表 5第5優先順序的位置是終端使用者附加的樣式表 有一種例外情況是終端使用者樣...
python優先順序佇列 python 優先順序佇列
簡介 優先順序佇列是基於堆的,關於堆的時候可以參考文章堆,優先順序佇列就是入隊時,會分配乙個優先順序,之後出隊時,根據優先順序出列。如,入隊時 4,a 6,r 3 d 則出隊順序 6,r 4,a 3 d 優先順序佇列的python實現 class priorityqueue object def i...