佇列 先進先出

2021-08-11 04:32:42 字數 2763 閱讀 5237

看前面的是什麼型別 指標-> 普通 .

出現指標指向空報錯的情況下,傳參不能為空,可以傳個空間的位址給他

queue->front->next==null;

從尾進(先進先出)

#define _crt_secure_no_warnings

#pragma once

#include

#include

#include

#include

typedef

struct _node

node;

typedef

struct _queue

queue;

//入隊

bool push_back(queue* queue, node node);

//插入

bool insert(queue* queue, int index, const

char* name);

//出隊

bool pop(queue* queue);

//是否隊空

bool empty(queue queue);

//隊元素數

int size(queue queue);

//清空

int clear(queue* queue);

//列印

void show(queue* queue);

name因為在結構體中定義不是陣列,因此需要開闢一塊區域來承載它的內容;

如果是name這種型別的話就不用開闢空間;

#include

"queue.h"

// 入隊

bool push_back(queue

*queue, node node)

//插入

bool insert(queue

*queue, int index, const char* name)

for (node* p=

queue

->front;;p=p->next)

}return

false;

}//出隊

bool pop(queue

*queue)

free(p);

return

true;

}return

false;

}//是否隊空

bool empty(queue

queue)

else

return

true;

}//隊員數

int size(queue

queue)

printf("%d", queue

.size);

return

queue

.size;

}//清空

int clear(queue

*queue)

node* q = p;

p = p->next;

queue

->front = p;

free(q);

}return0;}

//列印

void show(queue

*queue)

return;

}//void main()

//;// node node = ;

// node.name = (char*)malloc(8);

// node.index = 6;

// strcpy(node.name,"張三");

// push_back(&i,node);

// /*insert(&i,8,"張三");

// insert(&i,7,"李四");

// insert(&i, 3, "df四");*/

// //pop(&i);

// //printf("%d", clear(&i));

// show(&i);

// //clear(&i);

// printf("%d", clear(&i));

// //size(i);

// //empty(i);

// getchar();

//}

入隊的呼叫還有些問題,想用的方便一點的話,需要加點東西;

#include "queue.h"

void main()

; node node = ;

char arr[10] = ;

char a;

int k,j=0;

int index = 0;

printf("請輸入插入人數");

scanf("%d", &k);

getchar();

for (int j = 0; j < k; j++)

while(1)

if (strcmp(arr, "出隊") == 0)

if (strcmp(arr, "是否為空") == 0)

if (strcmp(arr, "清空") == 0)

if (strcmp(arr, "退出") == 0)

getchar();

}}

1._queue有兩個指標,乙個代表頭,乙個代表尾,

在queue->front==null的時候,尾和頭是指向同乙個節點的;

其他情況下都是乙個指頭乙個指尾的; 其他都差不多;

佇列實現先進先出

1 入隊,如例 q.push x 將x 接到佇列的末端。2 出隊,如例 q.pop 彈出佇列的第乙個元素,注意,並不會返回被彈出元素的值。3 訪問隊首元素,如例 q.front 即最早被壓入佇列的元素。4 訪問隊尾元素,如例 q.back 即最後被壓入佇列的元素。5 判斷佇列空,如例 q.empty...

Golang實現先進先出佇列

package queue type queue struct type node struct next node func newqueue queue func q queue isempty bool func q queue size int func q queue enqueue it...

JS實現佇列效果,先進先出

queue param size 佇列大小 function queue size 如果傳遞了size引數就設定了佇列的大小 if size null isnan size list.unshift data return true 從佇列中取出資料 this.pop function 返回佇列的大...