من رفتم سربازی اگر محتوای منو دوست داشتید و بدردتون خورد از من حمایت مالی کنید
پشته و صف در سی شارپ
پشته و صف در سی شارپ

پشته و صف در سی شارپ

اگر با مفاهیم ساختمان داده آشنایی هستید، قطعا با مفاهیمی تحت عنوان صف و پشته هم آشنایی کامل دارید. در این نوشته به بررسی کدهای نوشته شده در مورد صف و پشته با زبان برنامه نویسی سی شارپ می‌پردازیم.

 

پشته و صف در سی شارپ

پشته در ساختمان داده‌ها چیست؟

پشته در ساختمان داده‌ها

پشته یک نوع ساختمان داده است که با اصول LIFO کار می‌کند؛ مفهوم LIFO یعنی هر عنصری وارد می‌شود به عنوان اولین خروجی از همان ساختار انتخاب می‌شود.

 

صف در ساختمان داده‌ها چیست‌؟

صف در ساختمان داده‌ها

صف نوع دیگری از ساختمان داده‌ها است که با ساختار FIFO کار می‌کند یعنی عناصر به همان ترتیب که وارد صف می‌شوند به همان ترتیب خارج می‌شوند.

 

کد صف در سی شارپ

قطعه کد زیر به عنوان یک قطعه کد که صف را در سی شارپ پیاده سازی می‌کند است:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace WpfApplication1.myClass
{
 public    class queue
    {
        public int rear=0;
        public int front=0;
        public int[] arr = new int[9];

        int isfull()
        {
            if (front == (rear + 1) % 9)
                return 1;
            return 0;
        }
        int isEmpty()
        {
            if (front == rear)
                return 1;
            return 0;
        } 
        public  int read()
        {
            if (isEmpty() != 1)
            {
                if(front == 9 && rear == 0)
                    return 0;

                front++;
                int result = arr[front - 1];
                arr[front - 1] = 0;
                return result;
            }
            return 0;
        }
        public void add(int a)
        {
            if (isfull() != 1)
            {
                arr[rear] = a;
                if (rear == 9)
                    rear = 0;
                else
                    rear++;
            }
        }
    }
}

 

کد پشته در سی شارپ

قطعه کد زیر به عنوان یک قطعه کد که پشته را در سی شارپ پیاده سازی می‌کند است:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;

namespace stackApp
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }
        
        int[] arr = new int[99];
        int tos = 99;
        bool isfull()
        {
            if(0 <= tos && tos < arr.Length)
                return true;
            else
                return false;
        }
        bool isempty()
        {
            if (99 >= tos && tos > arr.Length)
                return false;
            else
                return true;
        }
        void push(int tos)
        {
            if (isfull() == false)
            {
                arr[tos] = 5;
                tos--;
            }
        }
        int pops(){
            if (isempty() == false)
            {
                return arr[tos];
                tos++;
            }
            return 0;
        }
    }
}

 

پیشنهاد نویسنده‌: پیاده سازی پشته در PHP

 

در صورتی که علاقه به یادگیری بیش‌تر ساختمان داده دارید کتاب ساختمان داده را دانلود کنید. اگر مشکلی در کدهای بالا احساس کردید در بخش نظرات همین نوشته به ما اطلاع دهید.

برای امتیاز به این نوشته کلیک کنید!
[کل: 3 میانگین: 3.7]