Jak wdrożyć kolejkę w C

Jak wdrożyć kolejkę w C
Struktura danych w C jest metodą organizowania i zapisywania danych w pamięci. C Language obejmuje wiele nieodłącznych i zdefiniowanych struktur danych użytkownika, które można zastosować do przechowywania i modyfikowania danych na różne sposoby. Jedną z głównych struktur danych zdefiniowanych przez użytkownika jest Kolejki. Kolejki są często wykorzystywane w dziedzinie informatyki do działań takich jak obsługa pakietów systemowych i obsługa zdarzeń.

W tym artykule omówiono wszystkie aspekty Kolejki i cień wdrożenia Kolejki w programowaniu C.

Jakie są kolejki w C

kolejka to struktura danych o elastyczności, której rozmiar można podnieść w odpowiedzi na popyt. Elementy różnych typów danych można przechowywać w kolejka. kolejka odbywa się przy użyciu pierwszego w pierwszym wydaniu. kolejka Struktura danych jest przydatna, jeśli potrzebujesz pobrania danych w tym samym formacie, co zostały zapisane.

Podstawowe operacje kolejki w C

Enqueue: Ta akcja przesuwa element z końcowej strony kolejka.

Dequeue: Operacja wyeliminuje komponent na początku kolejka.

Przód: Ta akcja zwraca pierwszą wartość w kolejka bez usuwania tego.

Jest pusty: Ta operacja sprawdza, czy kolejka jest zerowy czy nie.

Tył: Element wskaźnika nadzoruje odzyskanie finału kolejka element.

Wdrożenie kolejki w C poprzez tablice

Wdrożenie Kolejki jest bardzo proste przy użyciu tablic do oszczędzania kolejka elementy. Są dwa główne punkty w kolejki; Jeden to tył wskaźnik, który jest pomocny w dodaniu elementów przed Kolejki a drugi jest przód co jest pomocne w usunięciu elementów z kolejka. Oba wskaźniki są równe -1, gdy kolejka jest NULL. Wskaźnik tył nie może iść naprzód, gdy kolejka jest pełen swoich elementów.

Poniżej znajduje się tablica kolejka Implementacja struktury danych w programowaniu C.

#włączać
Int kolejka [100];
int front, tył = -1;
int pusty ()
return (front == -1 && z tyłu == -1);

int Full ()
powrót (tył == 100-1);

void enqueue (wartość int)
if (full ())
printf („Kolejka przednia jest pełna: wystąpił błąd \ n”);
powrót;

else if (opty ())
z przodu, tył = 0;

w przeciwnym razie
tył ++;

kolejka [tylna] = wartość;

void dequeue ()
if (pusty ())
printf („błąd występuje, ponieważ kolejka jest null \ n”);
powrót;

else if (front == tył)
przód, tył = -1;

w przeciwnym razie
front ++;


int front_element ()
if (pusty ())
printf („błąd występuje, ponieważ kolejka jest pusta \ n”);
zwrot -1;

Powrót kolejki [front];

void print_queue ()
if (pusty ())
printf („kolejka jest null \ n”);

w przeciwnym razie
printf („Elementy kolejki to:”);
dla (int i = front; i<= rear; i++)
printf („%d”, kolejka [i]);

printf („\ n”);


int main ()
enqueue (2);
enqueue (5);
Enqueue (88);
enqueue (46);
enqueue (3);
kolejka drukowania();
printf („Po wywołaniu funkcji dequeue. \N");
dequeue ();
kolejka drukowania();
printf („Element obecny przed kolejką to: %d \ n”, front_element ());
powrót 0;

W powyższej implementacji, aby pokazać, że kolejka jest pusta, oba tył I przód wskaźniki są ustawione na (-1). Wykonanie zaczyna się od główny() funkcja gdzie enqueue () funkcja wstawia komponent do kolejki z tyłu poprzez zwiększenie tył indeks podczas ustawiania kolejka wartość tablicy na nowo utworzonym tył indeks do dostarczonej wartości. Zwiększając przednią indeks, dequeue () Metoda eliminuje komponent, który znajduje się na czele kolejka. front_element () Metoda zwraca to, co jest przechowywane w kolejki z przodu, podczas gdy kolejka drukowania() Metoda drukuje kolejki składniki.

Wyjście

Wniosek

kolejka jest strukturą danych z liniowym układem wykorzystującym wzór FIFO, co oznacza, że ​​element dodany do kolejka pierwszy zostanie wycofany pierwszy. Zapewnia szybkie wstawienie i usunięcie kolejka rzeczy. Pod względem alokacji pamięci, Kolejki są wydajne. Powyższy artykuł pokazał różne operacje, które można wykonać Kolejki.