看前面的是什麼型別 指標-> 普通 .
出現指標指向空報錯的情況下,傳參不能為空,可以傳個空間的位址給他
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 返回佇列的大...