JS مقدمه DS&A – DEV Community

Summarize this content to 400 words in Persian Lang
اگر از هر دستگاه مدرنی استفاده می کنید، احتمالاً با عملیات پشته مواجه شده اید، حتی اگر متوجه آن نشده باشید. پشته ها در بسیاری از وظایف برنامه نویسی، از مدیریت فراخوانی تابع تا فعال کردن عملیات واگرد، اساسی هستند.
پشته ها چیست؟
پشته ها یک ساختار داده خطی هستند که از ترتیب عملیات سازماندهی داده ها در ساختار LIFO یا FILO پیروی می کنند.
LIFO: آخرین ورود، اولین خروج.
فیلو: اول وارد، آخرین بیرون.
پشته ها برای انجام عملیات روی مجموعه ای از عناصر مانند افزودن و حذف عناصر، نمایش عناصر بالا و نمایش خالی یا پر بودن مجموعه استفاده می شوند.
به عنوان مثال:
زمانی که در مرورگر وب خود در حال بازدید از www.ESPN.com هستید و به طور تصادفی روی تبلیغ بلیط بیسبال شیکاگو وایت ساکس کلیک می کنید. ما به پشته خود اضافه کردیم، شاید عمدا نبود اما اکنون در بالای پشته ما قرار دارد. سپس متوجه می شویم که شیکاگو وایت ساکس 15 بازی متوالی را باخته است. خوب … بیایید دکمه برگشت را بزنیم (آن عنصر را از بالای پشته حذف می کنیم).
بله، اون همون بالا این اصل LIFO را در عملیات پشته ها نشان می دهد، ما آخرین صفحه بازدید شده از تاریخچه (یا پشته ها) خود را ترک می کنیم (حذف می کنیم) تا به www.ESPN.com بازگردیم … شاید سال آینده White Sox.
عملیات پشتهها اغلب در برنامههایی استفاده میشوند که نیاز به حفظ تاریخچه مرورگر وب، لغو و انجام مجدد در ویرایشگرهای متن و پشتههای فراخوانی عملکرد دارند تا نام چند مورد را ذکر کنیم.
توابع معمولاً هنگام تغییر پشته ها به شرح زیر است:
.Push = برای افزودن عنصر به پشته.
.pop = حذف عنصر بالایی از پشته.
.peek = برای نمایش عنصر بالای پشته.
.length/.size = برای تعیین مجموع شاخص های یک پشته. استفاده از جاوا اسکریپت (.length)
.isEmpty = خالی بودن پشته را بررسی می کند.
.isFull = بررسی می کند که آیا یک پشته پر است. اگر آرایه دارای اندازه ثابت باشد.
ساختار داده Stacks را می توان با یک کلاس پشته یا با یک آرایه معمولی ایجاد کرد.
پیاده سازی پشته ها بدون کلاس:
هنگام انجام عملیات پشته ها بدون کلاس پشته، عملیات پشته را با یک آرایه شبیه سازی می کنیم.
در زیر نمونه ای از استفاده از عملیات پشته ها برای معکوس کردن آرایه ای از اعداد ارائه خواهد شد. من از JSON.stringify برای مقایسه مقادیر نتیجه آرایه با نتیجه آرایه مورد نظر استفاده خواهم کرد.
مثال:
// Reverse an array using stack operations
let number = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]; // original array
let numberList = [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]; // reversed array
let ordernumberList = []; // array to store the reversed order
// Loop through the numberList array to reverse its order
for (var i = 0; i
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
من می خواهم برجسته کنم if-else بیانیه در پایان من استفاده کردم JSON.stringify روش مقایسه دو آرایه زیرا، بدون آن، مقایسه به false برمیگردد و شرط else را راهاندازی میکند، حتی اگر آرایهها محتوای یکسانی داشته باشند. این به این دلیل اتفاق میافتد که هنگام مقایسه آرایهها در جاوا اسکریپت، مقایسه به جای محتوای واقعی درون آرایهها، مراجع آنها (یعنی مکان حافظه آنها) را بررسی میکند.
همانطور که می بینیم در سراسر for-loop، روش ما .pop (حذف شد) آخرین شاخص در آرایه numberList ابتدا (LIFO). سپس با استفاده از .push روش اضافه کردن آن به آرایه جدید ordernumberList، معکوس کردن آرایه اصلی.
FILO در آرایه جدید فرموله شده است به عنوان اولین شاخص هایی که به آرایه ordernumberList فشار داده می شوند، اگر با عملیات پشته ها اصلاح شوند، آخرین فهرست هایی هستند که خارج می شوند (FILO).
در این مقاله، نحوه عملکرد پشته ها با استفاده از اصول LIFO و FILO را بررسی کرده ایم که عملیات پشته در جاوا اسکریپت پیاده سازی شده است. درک پشته ها برای بسیاری از کارهای برنامه نویسی ضروری است، همانطور که در سناریوهای دنیای واقعی مانند مرور وب مشاهده می شود.
اگر از هر دستگاه مدرنی استفاده می کنید، احتمالاً با عملیات پشته مواجه شده اید، حتی اگر متوجه آن نشده باشید. پشته ها در بسیاری از وظایف برنامه نویسی، از مدیریت فراخوانی تابع تا فعال کردن عملیات واگرد، اساسی هستند.
پشته ها چیست؟
پشته ها یک ساختار داده خطی هستند که از ترتیب عملیات سازماندهی داده ها در ساختار LIFO یا FILO پیروی می کنند.
LIFO: آخرین ورود، اولین خروج.
فیلو: اول وارد، آخرین بیرون.
پشته ها برای انجام عملیات روی مجموعه ای از عناصر مانند افزودن و حذف عناصر، نمایش عناصر بالا و نمایش خالی یا پر بودن مجموعه استفاده می شوند.
به عنوان مثال:
زمانی که در مرورگر وب خود در حال بازدید از www.ESPN.com هستید و به طور تصادفی روی تبلیغ بلیط بیسبال شیکاگو وایت ساکس کلیک می کنید. ما به پشته خود اضافه کردیم، شاید عمدا نبود اما اکنون در بالای پشته ما قرار دارد. سپس متوجه می شویم که شیکاگو وایت ساکس 15 بازی متوالی را باخته است. خوب … بیایید دکمه برگشت را بزنیم (آن عنصر را از بالای پشته حذف می کنیم).
بله، اون همون بالا این اصل LIFO را در عملیات پشته ها نشان می دهد، ما آخرین صفحه بازدید شده از تاریخچه (یا پشته ها) خود را ترک می کنیم (حذف می کنیم) تا به www.ESPN.com بازگردیم … شاید سال آینده White Sox.
عملیات پشتهها اغلب در برنامههایی استفاده میشوند که نیاز به حفظ تاریخچه مرورگر وب، لغو و انجام مجدد در ویرایشگرهای متن و پشتههای فراخوانی عملکرد دارند تا نام چند مورد را ذکر کنیم.
توابع معمولاً هنگام تغییر پشته ها به شرح زیر است:
.Push = برای افزودن عنصر به پشته.
.pop = حذف عنصر بالایی از پشته.
.peek = برای نمایش عنصر بالای پشته.
.length/.size = برای تعیین مجموع شاخص های یک پشته. استفاده از جاوا اسکریپت (.length)
.isEmpty = خالی بودن پشته را بررسی می کند.
.isFull = بررسی می کند که آیا یک پشته پر است. اگر آرایه دارای اندازه ثابت باشد.
ساختار داده Stacks را می توان با یک کلاس پشته یا با یک آرایه معمولی ایجاد کرد.
پیاده سازی پشته ها بدون کلاس:
هنگام انجام عملیات پشته ها بدون کلاس پشته، عملیات پشته را با یک آرایه شبیه سازی می کنیم.
در زیر نمونه ای از استفاده از عملیات پشته ها برای معکوس کردن آرایه ای از اعداد ارائه خواهد شد. من از JSON.stringify برای مقایسه مقادیر نتیجه آرایه با نتیجه آرایه مورد نظر استفاده خواهم کرد.
مثال:
// Reverse an array using stack operations
let number = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]; // original array
let numberList = [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]; // reversed array
let ordernumberList = []; // array to store the reversed order
// Loop through the numberList array to reverse its order
for (var i = 0; i
من می خواهم برجسته کنم if-else
بیانیه در پایان من استفاده کردم JSON.stringify
روش مقایسه دو آرایه زیرا، بدون آن، مقایسه به false برمیگردد و شرط else را راهاندازی میکند، حتی اگر آرایهها محتوای یکسانی داشته باشند. این به این دلیل اتفاق میافتد که هنگام مقایسه آرایهها در جاوا اسکریپت، مقایسه به جای محتوای واقعی درون آرایهها، مراجع آنها (یعنی مکان حافظه آنها) را بررسی میکند.
همانطور که می بینیم در سراسر for-loop
، روش ما .pop
(حذف شد) آخرین شاخص در آرایه numberList ابتدا (LIFO). سپس با استفاده از .push
روش اضافه کردن آن به آرایه جدید ordernumberList، معکوس کردن آرایه اصلی.
FILO در آرایه جدید فرموله شده است به عنوان اولین شاخص هایی که به آرایه ordernumberList فشار داده می شوند، اگر با عملیات پشته ها اصلاح شوند، آخرین فهرست هایی هستند که خارج می شوند (FILO).
در این مقاله، نحوه عملکرد پشته ها با استفاده از اصول LIFO و FILO را بررسی کرده ایم که عملیات پشته در جاوا اسکریپت پیاده سازی شده است. درک پشته ها برای بسیاری از کارهای برنامه نویسی ضروری است، همانطور که در سناریوهای دنیای واقعی مانند مرور وب مشاهده می شود.