当前位置: 首页 > wzjs >正文

太原哪里做网站企业网站设计要求

太原哪里做网站,企业网站设计要求,公司网站做的一样算不算侵权6,莱西网站制作联赛与超队列的顺序表表示代码 #include<iostream> #include<stdexcept> using namespace std; //队列 类的声明 template<typename T>//1.模板声明&#xff0c;表明Queue类是一个通用的模板类&#xff0c;可以用于存储任何类型的元素T class Queue {//2.Queue类的…

队列的顺序表表示代码

#include<iostream>
#include<stdexcept>
using namespace std;


//队列 类的声明


template<typename T>//1.模板声明,表明Queue类是一个通用的模板类,可以用于存储任何类型的元素T

class Queue {//2.Queue类的声明,表示一个队列的数据结构
private://定义成员变量私有
    T* data;//3.用于存储队列中的元素,它是一个指向类型为T的指针
    int front;//4.用于记录队首的索引
    int rear;//5.用于记录队尾的索引
    int capacity;//6.用于记录队列的容量
    void resize();//7.用于在队列容量不足时进行扩容
public://定义公共成员函数
//8.Queue()是构造函数,用于初始化队列的成员变量。它创建一个新的队列,并分配一个容量为10的数组来存储元素,front和rear一开始都指向0,代表一个空队列
    Queue():data(new T[10]),front(0),rear(0),capacity(10){}
    ~Queue();//9.析构函数,用于释放队列所占用的内存
    void enqueue(T element);//10.用于将一个新元素入队
    T dequeue();//11.用于出队
    T getFront() const;//12.用于获取队首的元素,但不弹出它
    int getSize() const;//13.用于获取队列中元素的数量
};

//队列的扩容


template<typename T>//1.模板声明,表明resize函数是一个通用的模板类,可以用于处理任何类型的元素T
//resize用于在队列容量不足时进行扩容操作。它创建了一个更大的数组,并将旧数组的元素复制到新数组中,然后更新队列元素的指针和容量,确保不溢出。
void Queue<T>::resize() {
    T* newData = new T[capacity * 2];//计算新容量为当前容量的两倍,并创建新数组newData,用于存储扩充后的元素,新数组大小为新的容量
    for (int i = 0; i < rear; i++) {
        newData[i] = data[i];//复制元素到新数组
    }
    delete[] data;//释放旧数组占用的空间
    data = newData;//newData数组赋给data,使其成为队列的新存储数组
    capacity *= 2;//更新队列容量
}

//队列的销毁


template<typename T>
Queue<T>::~Queue() {//析构函数的声明,用于在对象销毁时执行清理操作
    delete[] data;//释放了动态分配的数组data所占用的内存空间。delete[]用于释放动态分配的数组内存
}

//入队


template<typename T>
void Queue<T>::enqueue(T element) {
    if (rear == capacity) {//队尾等于容量,调用resize()扩容
        resize();
    }
    data[rear++] = element;//element赋值给队列数组data的rear位置,并将rear的值增加1,以表示队列中元素的数量增加
}

//出队


template<typename T>
T Queue<T>::dequeue() {
    if (front == rear) {//栈空 抛出异常
        throw std::underflow_error("Queue is empty");
    }
    return data[front++];//不空,返回队首索引元素,并将front+1,代表移除队首元素。
}

//获取队首元素


template<typename T>
T Queue<T>::getFront() const {
    if (front == rear) {
        throw std::underflow_error("Queue is empty");
    }
    return data[front];//队不空,返回队首元素
}

//获取队列长度


template<typename T>
int Queue<T>::getSize() const {
    return rear - front;//队尾减去队头得队列长度
}

//主函数


int main() {
    Queue<int> q;
    q.enqueue(3);//入队3
    q.enqueue(4);
    cout << q.getFront() << endl;//队首元素为3
    q.enqueue(5);
    cout << q.getFront() << endl;//3
    q.dequeue();//移除队首元素3
    cout << q.getFront() << endl;//4
    cout << q.getSize() << endl;//2 (4,5)
    return 0;
}

http://www.dtcms.com/wzjs/320238.html

相关文章:

  • 商家商城小程序南城网站优化公司
  • 东莞网站建设网站推广价钱百度一下百度网页版主页
  • 自己做的网站怎样弄网上b2b和b2c是什么意思
  • 福州市建设管理处网站网络营销方案如何写
  • 网站做滚动图片365优化大师软件下载
  • 如何申请开通网站企业网站怎么建立
  • 网站管理运营中文网站排行榜
  • 珠海澳门网站建设公司网络营销课程个人总结
  • 济宁专业做网站互联网app推广具体怎么做
  • 大学生做家教网站济南seo的排名优化
  • 口碑好的网站建设哪家好谷歌seo排名公司
  • 企业高端网站建设希爱力的功效及副作用
  • 2014 网站建设windows优化大师有毒吗
  • 网站访问流量怎么赚钱seo网站诊断方案
  • 尚易企业邮箱登录入口湖南网站营销seo多少费用
  • 做公号模版网站百度网游排行榜
  • 怎么用ps做网站效果图常州百度关键词优化
  • 广州网站建设鞍山优化百度涨
  • 做市场浏览什么网站惠州seo代理计费
  • 词典网站模板百度竞价被换着ip点击
  • 做网站学cdr吗seo技术服务外包公司
  • ui做网站实例网页制作代码模板
  • 药材公司网站建设模板长沙seo推广优化
  • 东莞市建设局网站全球十大搜索引擎排名及网址
  • 河源做网站优化seo标题优化是什么意思
  • 我想开网店需要怎么做福州seo网站排名
  • 第一次做ppt怎么弄怎么理解搜索引擎优化
  • 软件dw做网站百度云盘登录入口
  • dedecms做网站注意事项百度24小时人工客服
  • 做单挣钱的网站搜狗网站收录提交入口