Turinys
Eilė yra dinamiška duomenų struktūra, iš kurios galite pasiekti „pirmojo atvykimo“ („first-come, first-out“) procesą. Sraigtas yra dinamiška duomenų struktūra, iš kurios galite pasiekti „paskutinio įjungimo, pirmojo išėjimo“ procesą. Jei įdiegsite kaminą, bus pasiekta tik paskutinis įvestas elementas. Jei norite gauti prieigą prie duomenų, kurie yra jo pagrindas (pirmasis įdėtas elementas), tuomet jūs laikysite jį kaip eilę. Norėdami tai padaryti, turite įgyvendinti antrą krūvą.
Instrukcijos
Vienos eilės įgyvendinimas naudojant du kaminus yra paprastas (Ablestock.com/AbleStock.com/Getty Images)-
Į teksto redaktorių įrašykite kodą, kad sukurtumėte kamino pagal procedūras ir funkcijas, kurias galima naudoti programavimo kalba, kurią norite naudoti. Skambinkite šiuo Stack_Entry kaminu. Įdėkite duomenis į „Stack_Entry“ (daug programavimo kalbų naudokite „push“ komandą, kad pridėtumėte duomenis). Pavyzdžiui, „Stack_Entry“ paleiskite komandą „push“, kad įvestumėte duomenis tokia tvarka: „A“, „B“ ir „C“. „A“ yra pirmasis, kuris patenka į steką ir yra jo apačioje. Jei norite pasiekti šį pirmąjį elementą, duomenis tvarkote kaip eilę.
-
Parašykite kodą, kad galėtumėte įdiegti antrą kaminą pagal procedūras ir funkcijas, kurias galima naudoti programavimo kalba, kurią norite naudoti. Skambinkite StackSafe (daugelis programavimo kalbų naudoja „pop“ komandą, kad pašalintumėte duomenis iš kamino).
-
Pašalinkite kiekvieną elementą iš „Stack_Insert“ kamino ir įdėkite juos į „Sleep Stack“. Apskritai, pašalinate „Stack_Input“ elementą ir įdėkite jį į „StackAid“. Tada patikrinkite, ar Stack_Input yra tuščias. Jei jis nėra tuščias, išimkite kitą elementą iš „Stack_Input“ ir padėkite jį į „Sleep Stack“. Pakartokite, kol „Stack_Input“ yra tuščias. Mūsų pavyzdyje pašalinate „C“ iš „Stack_Input“ ir įdėkite jį į „Stack_Aid“. Įsitikinkite, kad InputPilot yra tuščias. Pašalinkite „B“ iš „Stack_Input“ ir nustatykite jį į „Stack_Aid“. Įsitikinkite, kad InputPilot yra tuščias. Pašalinkite „A“ iš „Stack_Input“ ir nustatykite jį į „Stack_Aid“. Įsitikinkite, kad InputPilot yra tuščias.
-
Kai Stack_Path stack yra tuščias, elementas, kuris buvo „Stack_Input“ („A“ mūsų pavyzdyje) bazėje, dabar yra Stack_Aside viršuje. Pašalinkite „SleepSeat“ elementą ir paversti savo kaminą į eilę. Jūsų pirmasis elementas įkrovoje dabar yra pirmasis elementas, kurį reikia išimti (pirmiausia, pirma, arba FIFO į pirmąjį, pirmąjį).
Du stekai lygūs
Kaip
- Dauguma programavimo kalbų suteikia galimybę apdoroti duomenis vektoriuje taip, tarsi tai būtų eilė ar kamino. Tai reiškia, kad jūs galite pasiekti tiek paskutinę, tiek pirmąją vektoriaus poziciją, nepriklausomai nuo to, kurį pabaigą įvedate duomenis. Jei jūsų duomenys yra vektoriuje, jums nereikės nerimauti dėl prieigos prie jų kaip eilės ar kamino. Bet jei jūsų duomenys yra dinamiškoje krūvoje ir norite ją traktuoti kaip eilę, tuomet turėtumėte įdiegti antrą kaminą.
Ką reikia
- Teksto redaktorius
- Kompiliatorius arba vertėjas kai kurioms programavimo kalboms