本文整理汇总了C++中createQueue函数的典型用法代码示例。如果您正苦于以下问题:C++ createQueue函数的具体用法?C++ createQueue怎么用?C++ createQueue使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了createQueue函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: main
// Driver program to test above functions
int main()
{
struct node* root1=NULL,*root2=NULL;
struct Queue* queue1=createQueue(SIZE),*queue2 = createQueue(SIZE);
int i;
for(i = 1; i <= 12; ++i)
insert(&root1,i, queue1);
for(i = 1; i <= 12; ++i)
insert(&root2,i, queue2);
mirror(root2);
printf("The tree_1 elements are: ");
levelOrder(root1);
printf("\nThe tree_2 elements are: ");
levelOrder(root2);
printf("\n");
if(checkmirror(root1,root2))
printf("\nThe trees are mirror image");
else
printf("\nThe trees are not mirror image");
return 0;
}
开发者ID:bits3dec,项目名称:DS-and-Algorithms,代码行数:26,代码来源:Binarytree_checkmirror.c
示例2: testCombine
void testCombine() {
printf("\ntesting combine...\n");
int success = 0;
printf("Case 1: queues are the same size\n");
Queue a = createQueue(4);
enqueue(0,a); enqueue(1,a);
enqueue(2,a); enqueue(3,a);
printf("Queue a = ");
printQueue(a);
Queue b = createQueue(4);
enqueue(0,b); enqueue(1,b);
enqueue(2,b); enqueue(3,b);
printf("Queue b = ");
printQueue(b);
Queue merged = combine(a,b);
printf("Combination = ");
printQueue(merged);
success = merged->length = 8;
printf("\nCase 2: b is larger\n");
printf("Queue a = ");
printQueue(a);
freeQueue(b);
b = createQueue(20);
enqueue(0,b); enqueue(1,b);
enqueue(2,b); enqueue(3,b);
enqueue(4,b); enqueue(5,b);
printf("Queue b = ");
printQueue(b);
freeQueue(merged);
merged= combine(a,b);
printf("Combination = ");
printQueue(merged);
success = success && merged->length == 8;
printf("\nCase 3: a is larger\n");
freeQueue(merged);
merged= combine(b,a);
printf("Combination = ");
printQueue(merged);
success = success && merged->length == 8;
printf("\nCase 4: queue is empty\n");
freeQueue(a);
a = createQueue(2);
freeQueue(merged);
merged = combine(a,b);
printf("Queue a = ");
printQueue(a);
printf("Queue b = ");
printQueue(b);
printf("Combination = ");
printQueue(merged);
success = success && merged->length == 0;
if(success) printf(" ☺ success.\n");
else printf(" ☹ failure.\n");
}
开发者ID:jayrbolton,项目名称:coursework,代码行数:59,代码来源:testProb3.c
示例3: main
/************************* main *******************************/
int main() {
new_packet = (unsigned char *)malloc(MTU);
if(new_packet == NULL) {
printf("Malloc failed\n");
exit(EXIT_FAILURE);
}
struct nfq_handle *h = get_handle();
fd_set rfds;
// start the downstream code, later move to a thread
initializeRabin(powers);
int max_fd = 0;
int down_fd = createQueue(h, DOWN_MOBILE_QUEUE, &cbDown);
if(down_fd > max_fd)
max_fd = down_fd;
int up_fd = createQueue(h, UP_MOBILE_QUEUE, &cbUp);
if(up_fd > max_fd)
max_fd = up_fd;
printlog(logfile, system_loglevel, LOG_DEBUG,
"Queue packet descriptors, down_fd: %d, up_fd: %d\n",
down_fd, up_fd);
int n = 0, rv = 0;
char buf[4096] __attribute__ ((aligned));
nfnl_rcvbufsiz(nfq_nfnlh(h), 4096 * 4096);
while(true) {
FD_ZERO(&rfds);
FD_SET(down_fd, &rfds);
FD_SET(up_fd, &rfds);
n = select(max_fd + 1, &rfds, NULL, NULL, NULL);
if(n == -1) {
printlog(logfile, system_loglevel, LOG_CRITICAL,
"Select returned error: %s\n", strerror(errno));
}
if(FD_ISSET(down_fd, &rfds)) {
rv = recv(down_fd, buf, sizeof(buf), 0);
if(rv < 0) {
printlog(logfile, system_loglevel, LOG_CRITICAL,
"recv call failed: %s\n", strerror(errno));
} else {
nfq_handle_packet(h, buf, rv);
}
}
if(FD_ISSET(up_fd, &rfds)) {
rv = recv(up_fd, buf, sizeof(buf), 0);
if(rv < 0) {
printlog(logfile, system_loglevel, LOG_CRITICAL,
"recv call failed: %s\n", strerror(errno));
} else {
nfq_handle_packet(h, buf, rv);
}
}
}
// start the upstream code, later move to a thread
return 0;
}
开发者ID:bvattikonda,项目名称:asymmetric-caching,代码行数:60,代码来源:as_mobile.cpp
示例4: main
int main() {
struct queue *q3 = NULL, *q5 = NULL, *q7 = NULL;
q3 = createQueue();
if (!q3) {
printf("Failed to allocate memory for Queue\n");
return 1;
}
q5 = createQueue();
if (!q5) {
printf("Failed to allocate memory for Queue\n");
return 1;
}
q7 = createQueue();
if (!q7) {
printf("Failed to allocate memory for Queue\n");
return 1;
}
int num = 1, count = 1, k = 50;
/* initialize Queue */
enqueue(q3,num*3);
enqueue(q5,num*5);
enqueue(q7,num*7);
while (count<k) {
num = getMinofQueues(q3,q5,q7);
if (num < 0) {
num = 1<<32
break;
}
if (num == peekqueue(q3)) {
num = dequeue(q3);
enqueue(q3,num*3);
enqueue(q5,num*5);
enqueue(q7,num*7);
}
else if (num == peekqueue(q5)) {
num = dequeue(q5);
enqueue(q5,num*5);
enqueue(q7,num*7);
}
if (num == peekqueue(q7)) {
num = dequeue(q7);
enqueue(q7,num*7);
}
count++;
printQueue(q3);
printQueue(q5);
printQueue(q7);
//printf("%d,",num);
}
开发者ID:dilrajssokhi,项目名称:ctci,代码行数:56,代码来源:question7_7_v5.c
示例5: main
int main (int argc, char *argv[])
{
int i;
Item it;
Queue q1,q2;
printf("Test 1: Create queues\n");
q1 = createQueue();
q2 = createQueue();
assert(q1 != NULL);
assert(q2 != NULL);
assert(queueLength(q1) == 0);
assert(queueLength(q2) == 0);
printf("Passed\n");
printf("Test 2: Add to queues\n");
for (i = 1; i <= MAX; i++) {
enterQueue(q2,i);
enterQueue(q1,i);
assert(queueLength(q2) == i);
assert(queueLength(q1) == i);
}
printf("Final q1: ");
showQueue(q1);
printf("Final q2: ");
showQueue(q2);
printf("Passed\n");
printf("Test 3: Remove from queues\n");
for (i = 1; i <= MAX; i++) {
it = leaveQueue(q1);
assert(queueLength(q1) == MAX-i);
assert(i == it);
it = leaveQueue(q2);
assert(queueLength(q2) == MAX-i);
assert(i == it);
}
printf("Passed\n");
printf("Test 4: Destroy queues\n");
dropQueue(q1);
dropQueue(q2);
printf("Passed\n");
printf("Test 5: Remove from emoty queue\n");
printf("This test should fail an assertion\n");
q1 = createQueue();
it = leaveQueue(q1);
printf("Passed\n");
return 0;
}
开发者ID:hamyoh1,项目名称:COMP15s2,代码行数:52,代码来源:testQ.c
示例6: getShortestIncrePath
/*最短增广路径,计算路径*/
void getShortestIncrePath(Index S, Table T, Graph G)
{
Queue Q = createQueue();
enqueue(S, Q);
/*初始化入度路径计算表时,发出节点被置0,
我们在这里的目的是计算路径最小流*/
T[S].dist = Infinity;
Index V,W;
while(!isEmpty(Q))
{
V = dequeue(Q);
T[V].known = true;
Edge edge = G->TheCells[V].next;
while(edge !=NULL)
{
W = edge->vertexIndex;
if(T[W].known == false)
{
T[W].dist = MIN(T[V].dist, edge->weight);
T[W].path = V;
enqueue(W,Q);
}
edge = edge->next;
}
}
disposeQueue(Q);
}
开发者ID:YinWenAtBIT,项目名称:Data-Structure,代码行数:33,代码来源:MaxNetStream.cpp
示例7: main
int main(int argc, char *argv[]) {
char* names = argv[1];
char* name, **name_p;
Queue* queue;
struct Linked_list *iterator;
queue = createQueue(sizeof(char*));
name = strtok(names, ",");
while (name != NULL) {
printf("enqueueing %s - %i\n", name, QueueSize(queue));
Enqueue(queue, name);
name = strtok(NULL, ",");
}
for(iterator = queue->front->next; iterator != NULL; iterator = iterator->next) {
printf("element %s\n", (char*)(iterator->value));
}
// printf("front %s\n", (char*)((Linked_list*)(front(queue)))->value);
while(!QueueIsEmpty(queue)) {
printf("dequeued ");
fflush(stdout);
DequeueElement(queue, (void**)&name);
// name = *name_p;
printf("%s - %i\n", name, QueueSize(queue));
}
}
开发者ID:pbmoura,项目名称:scalability_experiments,代码行数:25,代码来源:QueueChar.c
示例8: _traverseBFT
static void _traverseBFT (BSTNODE* root, void (*process) (PACKAGE* package) )
{
BSTNODE* currentNode;
BSTNODE* tempNode;
QUEUE* queue;
queue = createQueue();
if(!queue)
{
printf("\nMemory Overflow!\n");
exit(201);
}
currentNode = root;
while(currentNode != NULL)
{
process ( currentNode->ptrPackage );
if(currentNode->left != NULL)
enqueue(queue, currentNode->left);
if(currentNode->right != NULL)
enqueue(queue, currentNode->right);
if(!emptyQueue(queue))
{
dequeue(queue, (void**)&tempNode);
currentNode = tempNode;
}
else currentNode = NULL;
}
queue = destroyQueue(queue);
return;
}// _traverseBFT
开发者ID:eyeareque,项目名称:15C_TEAM_PROJECT,代码行数:32,代码来源:bst.c
示例9: doBFS
void doBFS(maze_t* myMaze, adList_t* adList){
queue_t* queue= createQueue(myMaze->roomNumber);;
int start=getStartRoom(myMaze);
//printf("%d\n",start);
object_t* object;
edge_t* edge;
room_t* room;
int largest=0;
adList->object[start].room->depth=0;
enqueue(queue,&(adList->object[start]));
while (!empty(queue)) {
//printf("here\n");
object=dequeue(queue);
//printf("dequeue room: %d ,depth:%d,%d",object->room->room,object->depth,adList->object[object->room->room].depth);
edge=object->firstEdge;
if (edge!=NULL)
//printf("firstEdge: %d ",edge->number.number);
for (;edge!=NULL;edge=edge->nextEdge) {
if (edge->endRoom->room->depth==-1){
room=edge->endRoom->room;
enqueue(queue,&adList->object[edge->endRoom->room->room]);
room->parent=object->room->room;
//adList->object[edge->endRoom->room->room].room->parent=object->room->room;
room->edge=edge->number.number;
//adList->object[edge->endRoom->room->room].room->edge=edge->number.number;
room->depth=object->room->depth+1;
//adList->object[edge->endRoom->room->room].depth=adList->object[object->room->room].depth+1;
//printf("enqueue room: %d ,depth:%d,object room:%d",edge->endRoom->room->room,adList->object[16].depth,object->room->room);
largest=room->depth;
}
}
}
myMaze->maxDepth=largest;
free(queue);
}
开发者ID:Mengw,项目名称:github,代码行数:35,代码来源:mazeSolu.c
示例10: checkStackPairwiseOrder
int checkStackPairwiseOrder(struct sNode *top) {
struct Queue *q = createQueue();
struct sNode *s = top;
int pairwiseOrdered = 1;
while (!isEmpty(s))
enQueue(q, pop(&s));
while (!queueIsEmpty(q))
push(&s, deQueue(q)->key);
while (!isEmpty(s)) {
int n = pop(&s);
enQueue(q, n);
if (!isEmpty(s)) {
int m = pop(&s);
enQueue(q, m);
if(abs(n - m) != 1) {
pairwiseOrdered = 0;
}
}
}
while (!queueIsEmpty(q))
push(&s, deQueue(q)->key);
return pairwiseOrdered;
}
开发者ID:dataAlgorithms,项目名称:dataStructure,代码行数:28,代码来源:checkStackPairwiseOrder.c
示例11: main
int main(int argc, char **argv)
{
int readInts;
struct node *root = NULL;
struct Queue *queue = createQueue(SIZE);
FILE *fp;
fp = fopen(argv[1],"r");
if (fp == NULL)
printf("NO SUCH FILE EXISTS. PLEASE TRY AGAIN.");
while (fscanf(fp, "%d", &readInts) != EOF)
{
//printf("Inserting %d into tree...\n", readInts);
treeInsert(&root, readInts, queue);
}
fclose(fp);
//for (int i = 0; i <= 12; ++i)
// treeInsert(&root, i, queue);
//maxHeapify(root);
levelOrder(root);
printf("SIZE is %d\n", SIZE);
return 0;
}
开发者ID:dtnakamura,项目名称:CS-201,代码行数:25,代码来源:tree.c
示例12: test_to_enter_char_element_in_Queue_10
void test_to_enter_char_element_in_Queue_10(){
Queue* actual = createQueue(2,sizeof(char));
char value = '2';
char* data = (char*)actual->elements;
ASSERT(1==enQueue(actual,&value));
free(actual);
}
开发者ID:rvgorlov,项目名称:DSA,代码行数:7,代码来源:queueTest.c
示例13: test_to_enter_double_element_in_Queue_8
void test_to_enter_double_element_in_Queue_8(){
Queue* actual = createQueue(2,sizeof(double));
double value = 2.00000;
double* data = (double*)actual->elements;
ASSERT(1==enQueue(actual,&value));
free(actual);
}
开发者ID:rvgorlov,项目名称:DSA,代码行数:7,代码来源:queueTest.c
示例14: test_to_enter_float_element_in_Queue_7
void test_to_enter_float_element_in_Queue_7(){
Queue* actual = createQueue(2,sizeof(float));
float value = 2.0;
float* data = (float*)actual->elements;
ASSERT(1==enQueue(actual,&value));
free(actual);
}
开发者ID:rvgorlov,项目名称:DSA,代码行数:7,代码来源:queueTest.c
示例15: test_to_enter_int_element_in_queue_6
void test_to_enter_int_element_in_queue_6(){
Queue* actual = createQueue(2,sizeof(int));
int value = 2;
int* data = (int*)actual->elements;
ASSERT(1==enQueue(actual,&value));
free(actual);
}
开发者ID:rvgorlov,项目名称:DSA,代码行数:7,代码来源:queueTest.c
示例16: shortestPath
/*to calculate the shortest paths to all cities from a givern vertex
@param mySource the name of the starting city, prints error message if
not present
*/
void shortestPath(char *mySource) {
int index;
int source_present = FALSE;
queue myQueue = createQueue();
for(index = 0; index < myGraph->num_vertexes; index++) {
if(strcmp(mySource, myGraph->allVertexes[index]->name) == 0) {
myGraph->allVertexes[index]->cost = 0;
strcpy(myGraph->allVertexes[index]->cheap_source, myGraph->allVertexes[index]->name);
source_present = TRUE;
}
addToQueue(myQueue, createNode(myGraph->allVertexes[index]));
}
if(!source_present) {
printf("\nThat city doesn't exist!");
return;
}
while(!isEmpty(myQueue)) {
node temp = pop(myQueue);
if(temp->myVertex->cost == INT_MAX)
break;
for(index = 0; index < temp->myVertex->num_edges; index++) {
if(temp->myVertex->myEdges[index]->cost + temp->myVertex->cost < temp->myVertex->myEdges[index]->destination->cost) {
temp->myVertex->myEdges[index]->destination->cost = temp->myVertex->myEdges[index]->cost + temp->myVertex->cost;
strcpy(temp->myVertex->myEdges[index]->destination->cheap_source, temp->myVertex->name);
reorderQueue(myQueue, temp->myVertex->myEdges[index]->destination);
}
}
free(temp);
}
for(index = 0; index < myGraph->num_vertexes; index++) {
printf("\nthe cheapest path to %s is %d from %s", myGraph->allVertexes[index]->name, myGraph->allVertexes[index]->cost,
myGraph->allVertexes[index]->cheap_source);
}
free(myQueue);
}
开发者ID:dejarc,项目名称:Graph,代码行数:39,代码来源:Graph.c
示例17: main
int main(int argc, char const *argv[]) {
system("clear");
printf("\t ██╗ ██████╗ ██████╗ ██████╗ ██████╗ ██████╗ █████╗ \n");
printf("\t ██║██╔═══██╗██╔════╝ ██╔═══██╗ ██╔══██╗██╔═══██╗ ██╔══██╗ \n");
printf("\t ██║██║ ██║██║ ███╗██║ ██║ ██║ ██║██║ ██║ ╚█████╔╝ \n");
printf("\t ██ ██║██║ ██║██║ ██║██║ ██║ ██║ ██║██║ ██║ ██╔══██╗ \n");
printf("\t ██ ██║██║ ██║██║ ██║██║ ██║ ██║ ██║██║ ██║ ██╔══██╗ \n");
printf("\t ╚█████╔╝╚██████╔╝╚██████╔╝╚██████╔╝ ██████╔╝╚██████╔╝ ╚█████╔╝ \n");
printf("\t ╚════╝ ╚═════╝ ╚═════╝ ╚═════╝ ╚═════╝ ╚═════╝ ╚════╝ \n");
// Entrada
BOARD *board = (BOARD*)malloc(sizeof(BOARD));
STATE *game = createState();
createBoard(&board);
readBoard(&board);
game->current = board;
// Fila inicial
PRIORITY_QUEUE *queue = createQueue();
insert(queue, game);
// Loop de jogo
gameLoop(queue);
return 0;
}
开发者ID:felipecustodio,项目名称:8puzzle,代码行数:29,代码来源:main.c
示例18: main
int main() {
char *array[] = {"mona", "is", "the", "best", "yes", "and", "that", "is", "the", "total", "truth", "ikram", "a3"};
queueNode *myQueue; /*creates a queue*/
int i; /*interator to add elements to the queue*/
myQueue = createQueue(compareTest, copy, destroy);
for (i = 0; i < 13; i++)
enqueue(myQueue, array[i]);
printf("\nafter elements added...\n");
printQueue(myQueue, printTest);
dequeue(myQueue);
dequeue(myQueue);
dequeue(myQueue);
dequeue(myQueue);
dequeue(myQueue);
printf("\nafter 4 elements deleted...\n");
printQueue(myQueue, printTest);
destroyQueue(myQueue);
return 0;
}
开发者ID:minahilikram,项目名称:adt-avl-tree,代码行数:27,代码来源:queueTest.c
示例19: main
int main (int argc, char* argv[])
{
//create an array of processes called queue.
ticks = 0;
loop = 0;
queue q;
createQueue(q);
while (loop == 0)
{
ticks++;
printf("%d",ticks);
int i;
for (i = 1; i < getQueueSize(q); i++)
{
if (ticks - q.items[i].timeStamp > ticks)
{
if (getQueueSize(q) > 0)
{
scheduleProcess(q);
}
}
}
getUserInput(q);
if (ticks % 10 == 0)
{
for (i = 1; i < getQueueSize(q); i++)
{
q.items[i].priority = q.items[i].priority + 1;
}
}
}
}
开发者ID:Adondriel,项目名称:CollegePortfolio,代码行数:33,代码来源:APine_lab9_main.c
示例20: ofLog
void OpenCL::setup(int clDeviceType_, int deviceNumber) {
ofLog(OF_LOG_VERBOSE, "OpenCL::setup " + ofToString(clDeviceType_));
if(isSetup) {
ofLog(OF_LOG_VERBOSE, "... already setup. returning");
return;
}
if(deviceInfo.size() == 0) getDeviceInfos(clDeviceType_);
deviceNumber = (deviceNumber + getNumDevices()) % getNumDevices();
clDevice = deviceInfo[deviceNumber].clDeviceId;
cl_int err;
clContext = clCreateContext(NULL, 1, &clDevice, NULL, NULL, &err);
if(clContext == NULL) {
ofLog(OF_LOG_ERROR, "Error creating clContext.");
assert(err != CL_INVALID_PLATFORM);
assert(err != CL_INVALID_VALUE);
assert(err != CL_INVALID_DEVICE);
assert(err != CL_INVALID_DEVICE_TYPE);
assert(err != CL_DEVICE_NOT_AVAILABLE);
assert(err != CL_DEVICE_NOT_FOUND);
assert(err != CL_OUT_OF_HOST_MEMORY);
assert(false);
}
createQueue();
}
开发者ID:LeiZou,项目名称:ofxMSAOpenCL,代码行数:29,代码来源:MSAOpenCL.cpp
注:本文中的createQueue函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论