#include<iostream>
#include<Windows.h>
using namespace std;
#define M 5
class xian//線性類虛基類
{
public:
virtual void stact() =0;//初始化函數(shù)
virtual void In() = 0;//輸入函數(shù)
virtual void out() = 0;//輸出函數(shù)
protected:
int len;//長度
};
#include"xian.h"
struct Data//建立結(jié)構(gòu)體
{
int element;//要輸入的元素
Data *next;
};
class lian:protected xian//鏈式類繼承線性類
{
public:
void stact() {
len = 0;
}//定義初始化函數(shù)
virtual void In()=0;
virtual void out()=0;
};
#include"xian.h"
class shun :protected xian//順序表繼承線性表
{
protected:
int v[M];
int element;
public:
void stact();
virtual void In() = 0;
virtual void out() = 0;
};
#include"zhan.h"
class dui :protected lian//隊列類繼承鏈式類
{
protected:
Data *front, *rear;//定義兩個指針
public:
dui()//析構(gòu)函數(shù)
{
front = NULL;
rear = NULL;
}
virtual void In();//定義輸入函數(shù)
virtual void out();//定義輸出函數(shù)
};
#include"lian.h"
class zhan:protected lian//棧類繼承鏈式類
{
protected:
Data *p, *q;//定義兩個指針
public:
zhan()
{
p = NULL;
q = NULL;
}
virtual void In();//定義輸入函數(shù)
virtual void out();//定義輸出函數(shù)
};
#include"dui.h"
void dui::In()//隊列之輸入函數(shù)
{
stact();
Data *e=NULL;
do
{
rear = new Data;
cin >> rear->element;
if (len == 0)
{
e=front = rear;
}
else
{
e->next = rear;
e = rear;
}
rear->next = NULL;
len++;
} while (rear->element != 0);
}
void dui::out()//隊列之輸出函數(shù)
{
Data *r=NULL;
while (front!=rear)
{
r = front;
cout << front->element<<" ";
front = front->next;
delete r;//刪除元素
len--;
}
if (front ==rear)
cout << front->element;
}
#include"zhan.h"
void zhan::In()//棧之輸入函數(shù)
{
stact();
do
{
p = new Data;
cin >> p->element;
p->next = q;
q = p;
len++;
} while (p->element != 0);
}
void zhan::out()//棧之輸出函數(shù)
{
Data *r;
while (q)
{
r = q;
cout << q->element<<" ";
q = q->next;
delete r;//刪除元素
len--;
}
}
#include"dui.h"
int main()
{
zhan z;//定義棧對象
cout << "棧:" << endl;
z.In();
z.out();
dui d;//定義隊列對象
cout <<endl<< "隊列:" << endl;
d.In();
d.out();
cout << endl;
int p = 6;
while (p--&&p>0)//5秒后退出
{
cout << p << "秒退出!"<<endl;
Sleep(1000);
}
return 0;
}
五個類
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。