Xây dựng lớp Stack
– 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();
}
}
}
Xây dựng lớp Stack để 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 và Stack và thực hiện các phương thức trên.
Admin
- Admin
-
Tổng số bài gửi
: 782
Join date
: 2009-08-15
Similar topics
Jump to:
Permissions in this forum:
You cannot reply to topics in this forum
Youreply to topics in this forum