データ構造 - チームについての最初の理解

チーム

チームの定義

一方の端でのみ挿入を許可し、もう一方の端で削除のみを許可する線形テーブルは、先入れ先出し (First In First Out) 線形テーブル、または略して FIFO とも呼ばれます。
挿入可能な端をテール、削除可能な端をヘッドと呼びます。

キューの長さの計算式: 長さ=後部-前部+最大サイズ

チーム運営

  1. データ型を定義する
#define SIZE  20
typedef int QElemType;
typedef struct
{
    
    
	QElemType data[SIZE];
	int front;
	int rear;
}
  1. チームの初期化
Status InitQueue(Queue *init_queue)
{
    
    
	init_queue->front = 0;
	init_queue->rear = 0;
	return OK;
}
  1. チーム長の計算
int QueueLength(Queue *queue)
{
    
    
	return (queue->rear - queue->front + SIZE) % SIZE;
}
  1. エンキュー操作
Status EnQueue(Queue *in_queue, QElemType new_data)
{
    
    
	if((in_queue->rear +1 )%SIZE == in_queue->front){
    
    
		return ERROR;
	}
	in_queue->data[in_queue->rear] = new_data;
	in_queue->rear = (in_queue->rear +1 )%SIZE;
	return ERROR;
}
  1. デキュー操作
Status DeQueue(Queue *out_queue, QElemType *delete_data)
{
    
    
	if(out_queue->rear == out_queue->front)
		return ERROR;
	*delete_data = out_queue->data[out_queue->front];
	out_queue->front = (out_queue->front +1 )%SIZE;
	return ERROR;
}

おすすめ

転載: blog.csdn.net/The_onion/article/details/123598668