Stack in Action: ساخت و سازهای خنثیسازی و مجدداً در یک برنامه TODO

مقدمه
هنگام یادگیری ساختار داده ها و الگوریتم های (DSA) ، بسیاری از توسعه دهندگان تلاش می کنند تا برنامه های دنیای واقعی را برای مفاهیمی که مطالعه می کنند پیدا کنند. یکی از این ساختار داده های اساسی این است پشتهبشر در حالی که ممکن است در ابتدا نظری به نظر برسد ، پشته ها دارای برنامه های عملی بسیاری از جمله اجرای آن هستند عملکرد را خنثیسازی و دوباره انجام دهید در برنامه ها
در این مقاله ، ما ساختار داده پشته را بررسی خواهیم کرد و می بینیم که چگونه می توان از آن برای اجرای UNDO/REDO در یک برنامه ساده Todo استفاده کرد.
پشته چیست؟
پشته یک ساختار داده خطی است که از آن پیروی می کند آخرین در ، اول (LIFO) اصلبشر این بدان معنی است که آخرین مورد اضافه شده به پشته اولین موردی است که برداشته می شود.
عملیات کلیدی یک پشته:
-
Push
: یک مورد را به بالای پشته اضافه می کند. -
Pop
: مورد بالا را از پشته حذف می کند. -
Peek (Top)
: بدون حذف آن ، مورد برتر را برمی گرداند. -
isEmpty
: بررسی می کند که آیا پشته خالی است.
اجرای undo/redo در یک برنامه TODO
ویژگی های برنامه:
برنامه TODO ما ویژگی های زیر را خواهد داشت:
-
Text Field
: به کاربران اجازه می دهد تا کارها را وارد و اضافه کنند. -
Undo Button
: آخرین کار را حذف کرده و آن را به پشته مجدد منتقل می کند. -
Redo Button
: آخرین کار خنثی را از پشته مجدد بازیابی می کند. -
Show Stacks Button
: محتویات پشته اصلی (کارها) و پشته مجدد را نشان می دهد.
اجرای پشته در برنامه TODO:
در این اجرای ، ما از دو پشته استفاده می کنیم:
-
Main Stack
: وظایف فعال را ذخیره می کند. -
Redo Stack
: وظایف خنثی را ذخیره می کند.
چگونه undo/redo کار می کند:
-
با اضافه شدن یک کار ، آن را به پشته اصلی فشار می دهد.
-
هنگامی که دکمه undo کلیک می شود ، کار بالا از پشته اصلی ظاهر می شود و روی پشته مجدداً فشار می یابد.
-
هنگامی که دکمه Redo کلیک شد ، کار بالا از پشته دوباره ظاهر می شود و دوباره به پشته اصلی فشار می یابد.
-
با کلیک بر روی نمایش پشته ، هر دو پشته را نشان می دهد و مورد بالای آن را با سایه تیره برجسته می کند.
https://www.youtube.com/watch؟v=nlwezmp3sfw
کد:- پیوند GitHub
پایان
پشته ها یک ساختار داده اساسی با بسیاری از برنامه های دنیای واقعی هستند. اجرای عملکردهای خنثیسازی و تغییر مجدد در یک برنامه TODO یک روش عملی برای درک پشته ها در عمل است. با تجسم نحوه حرکت وظایف بین پشته ها ، توسعه دهندگان می توانند مفهوم LIFO و اهمیت آن در توسعه برنامه را بهتر درک کنند.