When we control the event,we control your lives
 
Trang ChínhTìm kiếmĐăng kýĐăng Nhập
Tìm kiếm
 
 

Display results as :
 
Rechercher Advanced Search
Latest topics
» Tô màu theo vùng quét
Bài Stack và Queue bằng OOP Icon_minitimeTue Aug 13, 2013 4:18 pm by minhlap

» authentischen Hermes Lindy Taschen
Bài Stack và Queue bằng OOP Icon_minitimeWed Jan 23, 2013 11:15 am by cangliang

» Hermes Bag
Bài Stack và Queue bằng OOP Icon_minitimeWed Jan 23, 2013 11:14 am by cangliang

» Hermes Evelyn pm
Bài Stack và Queue bằng OOP Icon_minitimeWed Jan 23, 2013 11:13 am by cangliang

» Hermes Kelly bag billig
Bài Stack và Queue bằng OOP Icon_minitimeMon Jan 21, 2013 8:57 am by cangliang

» Hermes Constance Bag
Bài Stack và Queue bằng OOP Icon_minitimeMon Jan 21, 2013 8:56 am by cangliang

» Discout Hermes Belt
Bài Stack và Queue bằng OOP Icon_minitimeMon Jan 21, 2013 8:55 am by cangliang

» Christian Louboutin Love Flats
Bài Stack và Queue bằng OOP Icon_minitimeTue Jan 15, 2013 12:25 pm by cangliang

» Christian Louboutin Love Flats
Bài Stack và Queue bằng OOP Icon_minitimeTue Jan 15, 2013 12:25 pm by cangliang

Navigation
 Portal
 Diễn Đàn
 Thành viên
 Lý lịch
 Trợ giúp
 Tìm kiếm
January 2020
MonTueWedThuFriSatSun
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendarCalendar
Diễn Đàn
Affiliates
free forum


Share
 

 Bài Stack và Queue bằng OOP

Go down 
Tác giảThông điệp
minhlap
Admin - Quản trị viên
Admin - Quản trị viên
minhlap

Tổng số bài gửi : 129
Points : 374
Reputation : 5
Join date : 22/07/2009
Age : 30
Đến từ : TP Hồ Chí Minh

Bài Stack và Queue bằng OOP Empty
Bài gửiTiêu đề: Bài Stack và Queue bằng OOP   Bài Stack và Queue bằng OOP Icon_minitimeSun Aug 02, 2009 6:05 pm

File LIFO.cpp
Code:

http://LIFO.cpp
//Minh Lap
#include"iomanip.h"
#include"iostream.h"
#include"stdlib.h"
typedef int elem;
#define M 100
class Stack
{
   int kichthuoc;
   int top;
   elem *data;
public:
   Stack(int);
   ~Stack();
   int StackRong();
   int StackDay();
   void Push(elem);
   elem Pop();
   void Nhap(int &);
   void DuyetStack(int);
};
Stack::Stack(int kichthuoc)
{
   top=-1;
   this->kichthuoc=kichthuoc;
   data=new elem[this->kichthuoc];
}
Stack::~Stack()
{
   delete []data;
}
int Stack::StackRong()
{
   return top==-1;
}
int Stack::StackDay()
{
   return top==(this->kichthuoc)-1;
}
void Stack::Push(elem data)
{
   if(StackDay())
   {
      cout<<"Stack day";
      exit(0);
   }
   else
   {
      top++;
      this->data[top]=data;
   }
   
}
elem Stack::Pop()
{
   elem x;
   if(StackRong())
   {
      cout<<"Stack rong";
      x=-1;
      exit(0);
   }
   else
   {
      x=this->data[top--];
   }   
   return x;   
}
void Stack::DuyetStack(int k)
{
   int i;
   for(i=0;i<k;i++)
      cout<<setw(5)<<this->Pop();
}
void Stack::Nhap(int &n)
{
   do
   {
   cout<<"Nhap so phan tu :";
   cin>>n;
   }while(n<0);
   elem x;
   for(int i=0;i<n;i++)
   {
      cout<<"Nhap x["<<i<<"] :";
      cin>>x;
      this->Push(x);
   }   
}
void main()
{
   int n;
   Stack a(100);
   a.Nhap(n);
   a.DuyetStack(n);
}

File Queue.cpp
Code:

#include"iomanip.h"
#include"iostream.h"
#include"stdlib.h"
typedef int elem;
class Queue
{
   int kichthuoc;
   int front,rear;
   elem *data;
public:
   Queue(int);
   ~Queue();
   int QueueRong();
   int QueueDay();
   void AddQueue(elem);
   elem RemoveQueue();
   void Nhap(int &);
   void DuyetQueue(int);
};
Queue::Queue(int kichthuoc)
{
   this->front=this->rear=0;
   this->kichthuoc=kichthuoc;
   data=new elem[this->kichthuoc];
}
Queue::~Queue()
{
   delete []data;
}
int Queue::QueueRong()
{
   return front==rear;
}
int Queue::QueueDay()
{
   int nr=(this->rear+1)%(this->kichthuoc);
   if(nr==this->front)
      return 1;
   return 0;   
}
void Queue::AddQueue(elem data)
{   
   int nr=(this->rear+1)%(this->kichthuoc);
   if(QueueDay())
   {
      cout<<"Queue day";
      exit(0);
   }
   else
   {   
      this->data[this->rear]=data;
      this->rear=nr;
   }   
}
elem Queue::RemoveQueue()
{
   elem x;
   if(QueueRong())
   {
      cout<<"Queue rong";
      x=-1;
      exit(0);
   }
   else
   {
      x=this->data[this->front];
      this->front=(this->front+1)%(this->kichthuoc);
   }   
   return x;   
}
void Queue::DuyetQueue(int k)
{
   int i;
   for(i=0;i<k;i++)
      cout<<setw(5)<<this->RemoveQueue();
}
void Queue::Nhap(int &n)
{
   do
   {
   cout<<"Nhap so phan tu :";
   cin>>n;
   }while(n<0);
   elem x;
   for(int i=0;i<n;i++)
   {
      cout<<"Nhap x["<<i<<"] :";
      cin>>x;
      this->AddQueue(x);
   }   
}
void main()
{
   int n;
   Queue a(100);
   a.Nhap(n);
   a.DuyetQueue(n);
}

_________________
minhlapit
Về Đầu Trang Go down
https://minhlap.forumvi.com
symphonyenigmatic
Thành viên bậc 3
Thành viên bậc 3
symphonyenigmatic

Tổng số bài gửi : 61
Points : 104
Reputation : 6
Join date : 26/07/2009
Age : 31
Đến từ : http:://thienthancntt.tk

Bài Stack và Queue bằng OOP Empty
Bài gửiTiêu đề: Hỏi hàm StackDay()   Bài Stack và Queue bằng OOP Icon_minitimeTue Aug 04, 2009 2:15 pm

Stack của bạn khi đầy thì return Top = (this->KichThuoc) - 1;
Điều đó là sao vậy? Thiệc sự chưa hỉu lắm, theo giáo trình Thầy Long cho hồi năm ngoái hình như không có hàm Stack Đầy, chỉ có Rỗng thôi. Bạn giải thik kĩ hơn dc không?
Về Đầu Trang Go down
http://http:://thienthancntt.tk
anbinhtrong
Thành viên bậc 1
Thành viên bậc 1
anbinhtrong

Tổng số bài gửi : 13
Points : 17
Reputation : 1
Join date : 29/08/2009
Age : 31
Đến từ : BT

Bài Stack và Queue bằng OOP Empty
Bài gửiTiêu đề: Stack đầy   Bài Stack và Queue bằng OOP Icon_minitimeWed Sep 16, 2009 11:01 am

Thật ra mình nghĩ không nên làm hàm stack đầy vì chỉ đơn giản bạn kt nó có = top hay không?
Trích dẫn :
return Top == (this->KichThuoc) - 1;
vì mảng C++ cũng bắt đầu từ 0 mà.
Mình nên nghĩ bạn thử dùng template để viết xem sao.
Về Đầu Trang Go down
http://ngoctho1001.blogspot.com/
minhlap
Admin - Quản trị viên
Admin - Quản trị viên
minhlap

Tổng số bài gửi : 129
Points : 374
Reputation : 5
Join date : 22/07/2009
Age : 30
Đến từ : TP Hồ Chí Minh

Bài Stack và Queue bằng OOP Empty
Bài gửiTiêu đề: Re: Bài Stack và Queue bằng OOP   Bài Stack và Queue bằng OOP Icon_minitimeThu Sep 17, 2009 11:15 am

tôi viêt như vậy là có lúc dùng đến

_________________
minhlapit
Về Đầu Trang Go down
https://minhlap.forumvi.com
Sponsored content




Bài Stack và Queue bằng OOP Empty
Bài gửiTiêu đề: Re: Bài Stack và Queue bằng OOP   Bài Stack và Queue bằng OOP Icon_minitime

Về Đầu Trang Go down
 
Bài Stack và Queue bằng OOP
Về Đầu Trang 
Trang 1 trong tổng số 1 trang

Permissions in this forum:Bạn không có quyền trả lời bài viết
minhlap.allgoo.us :: Lập trình :: Lập Trình Hướng Đối Tượng,Đồ Họa OpenGL C, C++-
Chuyển đến