Садржај
Куеуе је динамичка структура података из које можете приступити подацима у процесу "први долазак, први излазак". Стацк је динамичка структура података из које можете приступити подацима у процесу "ласт-ин, фирст-оут". Ако имплементирате стацк, само последња ставка коју унесете постаје доступна. Ако желите да приступите подацима који су основа за то (прва ставка коју сте ставили), онда ћете је третирати као ред. Да бисте то урадили, морате имплементирати другу гомилу.
Упутства
Имплементација реда помоћу два стацка је једноставна (Аблестоцк.цом/АблеСтоцк.цом/Гетти Имагес)-
У свом уређивачу текста, напишите код за имплементацију стог у складу са процедурама и функцијама које су доступне у програмском језику који желите да користите. Позови овај стацк_Ентри стацк. Ставите податке у Стацк_Ентри (многи програмски језици користе команду "пусх" за додавање података). На пример, покрените "пусх" команду у Стацк_Ентри да унесете податке следећим редоследом: "А", "Б" и "Ц". "А" је први који улази и налази се на дну стог. Ако желите да приступите овој првој ставци, податке третирате као ред.
-
Напишите код да бисте имплементирали други стог у складу са процедурама и функцијама које су доступне у програмском језику који желите да користите. Назовите га СтацкСафе (многи програмски језици користе наредбу "поп" за уклањање података из стог).
-
Уклоните сваку ставку из Стацк_Инсерт стог и поставите их у Слееп Стацк. Уопштено говорећи, уклоните Стацк_Инпут ставку и ставите је у СтацкАид. Затим проверите да ли је Стацк_Инпут празан. Ако није празан, уклоните следећу ставку из Стацк_Инпут и ставите је у Слееп Стацк. Поновите док Стацк_Инпут није празан. У нашем примеру, уклоните "Ц" из Стацк_Инпут и ставите га у Стацк_Аид. Уверите се да је ИнпутПилот празан. Уклоните "Б" из Стацк_Инпут и поставите га на Стацк_Аид. Уверите се да је ИнпутПилот празан. Уклоните "А" из Стацк_Инпут и поставите га на Стацк_Аид. Уверите се да је ИнпутПилот празан.
-
Када је Стацк_Патх стацк празан, ставка која је била у Стацк_Инпут ("А" у нашем примјеру) база је сада на врху Стацк_Асиде. Уклоните ставку СлеепСеат и претворили сте свој стацк у ред. Ваша прва ставка у стогу је сада прва ставка која ће се извући (прва у, прва из, или ФИФО у првом, прво ван).
Два стацка су једнака реду
Како
- Већина програмских језика обезбеђује функције за обраду података у вектору као да је у реду или стог. То јест, можете приступити и последњој и првој позицији вектора, без обзира на који крај уносите податке. Ако су ваши подаци у вектору, не морате се бринути о томе да им приступите као ред или стог. Али ако су ваши подаци у динамичкој гомили и желите да их третирате као ред, требали бисте имплементирати други стацк.
Шта ти треба
- Уређивач текста
- Компајлер или преводилац за неки програмски језик