algorytm.org

Implementacja w C/C++



Baza Wiedzy
wersja offline serwisu przeznaczona na urządzenia z systemem Android
Darowizny
darowiznaWspomóż rozwój serwisu
Nagłówki RSS
Artykuły
Implementacje
Komentarze
Forum
Bookmarki






Sonda
Implementacji w jakim języku programowania poszukujesz?

Kolejka - Implementacja w C/C++
Ocena użytkownikóww: *****  / 17
SłabyŚwietny
Nadesłany przez Marian, 16 lutego 2011 21:40
Kod przedstawiony poniżej przedstawia główną część rozwiązania problemu.
Pobierz pełne rozwiązanie.

Jeżeli nie odpowiada Ci sposób formatowania kodu przez autora skorzystaj z pretty printer'a i dostosuj go automatycznie do siebie.

kolejka_1_c.cpp:
//kolejka (implementacja przy uzyciu listy jednokierunkowej)
//www.algorytm.org

#include<iostream>
using namespace std;

struct liczba
	{
		int wartosc;
		liczba *next;
		
	};

int main()
{
	char warunek;
	liczba *root=NULL, *nowa = NULL, *end=NULL, *temp=NULL;
	while (cin>>warunek)
	{
		switch (warunek)
		{
		case 'd': //dodaj nowy element do kolejki
			nowa=new liczba;
			cin>>nowa->wartosc;
			if (root==NULL) //dodaj pierwszy element do kolejki
			{
				root=nowa;
				end=nowa;
				nowa->next=NULL;

			}
			else //dodaj kolejny element do kolejki
			{
				nowa->next=root;
				root=nowa;
			}
			break;
			
		case 'z': //zabierz element z kolejki
			if (end && end == root) //zabierz ostatni element z kolejki
			{
				cout<<end->wartosc<<endl;
				delete end;
				end = root = NULL;
			}
			else if (end) //zabierz element z kolejki
			{
				temp=root;
				while (temp->next!=end)
					temp=temp->next;
				cout<<end->wartosc<<endl;
				delete end;
				end=temp;
			}
			break;
			
		case 'k': //zakoncz program
			return 0; 
		}
	}
	

	return 0; 
} 
Komentarze
photo
0 # Pomoc! 2017-03-12 18:57
Ten "root" to jest tzw. "głowa" ?
Odpowiedz | Odpowiedz z cytatem | Cytować
photo
0 # Tomasz Lubiński 2017-04-18 10:41
Tak.
Odpowiedz | Odpowiedz z cytatem | Cytować
Dodaj komentarz