Search
Latest topics
Xây dựng lớp Stack
Page 1 of 1
Xây dựng lớp Stack
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.
- 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();
}
}
}
Similar topics
» Dùng lệnh su “switch user” để chuyển đến người dùng
» Tận Dụng LinQ Trong Ứng Dụng.
» Su dung D-com 3G
» 28 Ung Dung Cho 3110c
» Lỗ hổng bảo mật của các ứng dụng web
» Tận Dụng LinQ Trong Ứng Dụng.
» Su dung D-com 3G
» 28 Ung Dung Cho 3110c
» Lỗ hổng bảo mật của các ứng dụng web
Page 1 of 1
Permissions in this forum:
You cannot reply to topics in this forum
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
» Giá của món quà
Fri Apr 13, 2012 6:01 am by Admin
» Sẽ chỉ yêu ai?
Fri Apr 13, 2012 6:01 am by Admin
» Cách đọc bảng chữ cái!
Thu Apr 12, 2012 10:37 pm by Admin
» Gắn trojan, keylog, virus vào website, forum
Tue Apr 10, 2012 1:14 am by Admin