Search
 
 

Display results as :
 


Rechercher Advanced Search

Latest topics
» NewBlueFx TotalFX Windows-FL | 1.11 GB
Tue Dec 17, 2013 12:42 pm by titquarra

» NewBlueFx TotalFX Windows-FL | 1.11 GB
Tue Dec 17, 2013 12:42 pm by titquarra

» Celebrity.Sex.Tape.UNCUT.&.UNRATED.2012.720p.BRrip.x264.YIFY.mp4
Tue Dec 17, 2013 8:32 am by titquarra

» Maya Autodesk Personal Learning Edition 8.5
Tue Dec 17, 2013 7:47 am by titquarra

» Tuyệt Kỹ Đong Giai Chân Kinh (tuyệt Kỹ cua trai)
Thu Aug 23, 2012 5:38 am by Admin

» Tuyệt kỹ cua giai
Thu Aug 23, 2012 5:36 am by Admin

» NETCAT.........
Mon Aug 13, 2012 6:35 am by Admin

» Bảo mật CSDL bằng phương pháp mã hóa.
Tue Apr 17, 2012 10:04 pm by Admin

» Hàm mã hóa MD5 bằng JavaScript
Tue Apr 17, 2012 10:03 pm by Admin

Shopmotion


Affiliates
free forum


Xây dựng lớp Stack

View previous topic View next topic Go down

Xây dựng lớp Stack

Post  Admin on Mon Feb 21, 2011 8:00 pm

Xây dựng lớp Stack<T> để mô phỏng một Stack bao gồm:
- Hàm Stack(int n) khởi tạo 1 Stack có tối đa n phần tử
- Phương thức IsEmpty để kiểm tra xem Stack có phần tử nào hay không?
- Phương thức IsFull để kiểm tra xem Stack đầy hay chưa?
- Phương thức Push để thêm một phần tử vào Stack.
- Phương thức Pop để loại một phần tử khỏi Stack.
Xây dựng đối tượng Stack<int> và Stack<String> và thực hiện các phương thức trên.

Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Baigiaicau2
{
    public class Stack<T>
    {
        private int n;//so phan tu toi da cua stack
        private int top;//danh dau dinh stack
        public T[] a;
        public int Top
        {
            get { return top; }
            set { top = value; }
        }
        public Stack(int n)
        {
            top = -1;
            this.n = n;
            a = new T[n];
        }
        public bool isEmpty()
        {
            return top == -1;
        }
        public bool isFull()
        {
            return top==n-1;
        }
        public void Push(T pt)
        {
            //neu stack chua day thi top++,a[top]=x
            //Neu stack day roi thi bao "stack day"
            if (!isFull())
            {
                top = top + 1;
                a[top] = pt;
            }
            else
            {
                Console.WriteLine("Stack day!");
            }
        }
        public void Pop()
        {
            if (!isEmpty())
            {
                top = top - 1;
            }
            else
            {
                Console.WriteLine("Stack rong");
            }
        }
        public void Hienthi()
        {
            if (!isEmpty())
            {
                for (int i = 0; i <= top; i++)
                    Console.Write("{0}", a[i].ToString());
                Console.WriteLine();
            }
            else
                Console.WriteLine("Stack rong roi");
        }
    }

    public class Test
    {
        static void Main(string[] args)
        {
            Stack<int> st = new Stack<int>(5);
            if (st.isEmpty())
                Console.WriteLine("Stack rong");

            Console.WriteLine("***Thuc hien thao tac***");

            Console.WriteLine("\n");
            Console.WriteLine("//them {0} phan tu",st.a.Length);
            st.Push(3);
            st.Push(4);
            st.Push(5);
            st.Push(6);
            st.Push(7);
            st.Hienthi();
            if (st.isFull())
                Console.WriteLine("Stack da day");

            Console.WriteLine("\n");
            Console.WriteLine("//Xoa 1 phan tu");
            st.Pop();
            st.Hienthi();
            Console.WriteLine("\n");
            //
            Stack<string> st2 = new Stack<string>(3);
            if (st2.isEmpty())
                Console.WriteLine("Stack rong");

            Console.WriteLine("***Thuc hien thao tac***");

            Console.WriteLine("\n");
            Console.WriteLine("//them {0} phan tu", st2.a.Length);
            st2.Push("a");
            st2.Push("b");
            st2.Push("c");

            st2.Hienthi();
            if (st2.isFull())
                Console.WriteLine("Stack da day");

            Console.WriteLine("\n");
            Console.WriteLine("//Xoa 3 phan tu");
            st2.Pop();
            st2.Pop();
            st2.Pop();
            st2.Hienthi();
            Console.WriteLine("\n");
            Console.ReadLine();
        }
    }
}

Admin
Admin

Tổng số bài gửi : 782
Join date : 2009-08-15

View user profile http://hackis.forumotion.com

Back to top Go down

View previous topic View next topic Back to top


 
Permissions in this forum:
You cannot reply to topics in this forum