当前位置: 首页> 游戏> 攻略 > 东莞做网站哪家最好_南京做网站费用_企业网络营销方案设计_seo的方式有哪些

东莞做网站哪家最好_南京做网站费用_企业网络营销方案设计_seo的方式有哪些

时间:2025/7/15 2:11:28来源:https://blog.csdn.net/xh202105/article/details/142530026 浏览次数:0次
东莞做网站哪家最好_南京做网站费用_企业网络营销方案设计_seo的方式有哪些

栈的实现

头文件
#ifndef MY_STACK_H
#define MY_STACK_H
#include <iostream>using namespace std;class my_stack
{
private:int *base;//动态栈指针int top;//栈顶元素int size;//栈大小
public:my_stack();//无参构造my_stack(int size):top(-1),size(size){base = new int[this->size];cout<<"有参构造"<<endl;}~my_stack(){delete []base;cout<<"析构函数"<<endl;}//赋值my_stack & operator=(const my_stack &str);//访问栈顶元素int my_top();//检查容器是否为空bool my_empty();//返回容纳元素数int my_size();//插入栈顶void my_push(int value);//删除栈顶void my_pop();
};#endif // MY_STACK_H
源文件
#include "my_stack.h"//赋值
my_stack & my_stack::operator=(const my_stack &str)
{if(this != &str){delete []base;this->size = str.size;this->top = str.top;base = new int[size];for(int i = 0;i<size;i++){base[i] = str.base[i];}}return *this;
}//访问栈顶元素
int my_stack::my_top()
{if(my_empty()){cout<<"栈为空"<<endl;return -1;}return base[top];
}//检查容器是否为空
bool my_stack::my_empty()
{return top == -1;
}//返回容纳元素数
int my_stack::my_size()
{return top+1;
}
//插入栈顶
void my_stack::my_push(int value)
{if(top >= size){cout<<"栈满"<<endl;return;}base[++top] = value;cout<<value<<"插入成功"<<endl;
}
//删除栈顶
void my_stack::my_pop()
{if(my_empty()){cout<<"栈为空"<<endl;return;}top--;cout<<"删除栈顶成功"<<endl;
}
主程序
#include "my_stack.h"
int main()
{my_stack s(10);s.my_push(23);s.my_push(45);s.my_push(74);cout<<"栈顶 = "<<s.my_top()<<endl;cout<<"栈元素个数="<<s.my_size()<<endl;s.my_pop();cout<<"删除栈顶后栈元素个数="<<s.my_size()<<endl;return 0;
}

队列的实现

头文件
#ifndef QUEUE_H
#define QUEUE_H
#include <iostream>using namespace std;class queue
{
private:int *base;//队列动态数组int front;//头部int rear;//尾部int size;//容器大小
public:queue();//无参构造queue(int size):front(0),rear(0),size(size)//有参构造{base = new int[size];cout<<"有参构造"<<endl;}//析构函数~queue(){delete [] base;cout<<"析构函数"<<endl;}//赋值queue &operator=(const queue &str);//访问第一个元素int my_front();//访问最后一个元素int my_back();//检查容器是否为空bool my_empty();//返回容器的元素数int my_size();//向队尾插入元素void my_push(int value);//删除首个插入元素void my_pop();
};#endif // QUEUE_H
源文件
#include "queue.h"//赋值
queue &queue::operator=(const queue &str)
{if(this != &str){delete []base;front = str.front;rear = str.rear;size = str.size;base = new int[size];for(int i = front;i<rear;i++){base[i] = str.base[i];}}return *this;
}
//访问第一个元素
int queue::my_front()
{if(my_empty()){cout<<"队列为空"<<endl;return -1;}return base[front];
}
//访问最后一个元素
int queue::my_back()
{if(my_empty()){cout<<"队列为空"<<endl;return -1;}return base[rear-1];
}
//检查容器是否为空
bool queue::my_empty()
{return rear == front;
}
//返回容器的元素数
int queue::my_size()
{return rear-front;
}
//向队尾插入元素
void queue::my_push(int value)
{base[rear++] = value;cout<<"插入成功"<<endl;
}
//删除首个插入元素
void queue::my_pop()
{if(my_empty()){cout<<"队列为空"<<endl;return;}cout<<"首元素"<<base[front++]<<"删除成功"<<endl;
}
主程序
#include "queue.h"int main()
{queue s(10);s.my_push(14);s.my_push(24);s.my_push(41);s.my_push(4);cout<<"最后一个元素是"<<s.my_back()<<endl;s.my_pop();cout<<"第一个元素"<<s.my_front()<<endl;return 0;
}

思维导图

关键字:东莞做网站哪家最好_南京做网站费用_企业网络营销方案设计_seo的方式有哪些

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: