2024.9.3

2024-09-04 00:44
文章标签 2024.9

本文主要是介绍2024.9.3,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

#include <iostream>
#include <cstring>
using namespace std;class Stack
{
private:int len;int count = 0;int *stack;
public:Stack():len(10)             //无参构造{stack = new int[len];stack[len] = {0};}Stack(int len):len(len)         //有参构造{stack = new int[len];stack[len] = {0};}Stack(Stack &other):len(other.len)  //拷贝构造函数{stack = new int[len];for(int i=0;i<len;i++){stack[i] = other.stack[i];}}Stack &operator=(const Stack &other)    //拷贝赋值函数{if(this != &other){this->count = other.count;this->len = other.len;int *newstack = new int[this->len];for(int i=0;i<len;i++){newstack[i] = other.stack[i];}delete [] stack;stack = newstack;}return *this;}~Stack()        //析构函数{delete [] stack;}int top();bool empty();int size();int push(int n);void expand();void show();int pop();
};int Stack::top()
{if(empty()){cout<<"error" <<endl;return -1;}return stack[count-1];
}bool Stack::empty()
{return count == 0;
}int Stack::size()
{return count;
}int Stack::push(int n)
{if(count == len){expand();}stack[count++] = n;return 0;
}void Stack::expand()
{len = len * 2;int *newstack = new int[len];for(int i=0;i<count;i++){newstack[i] = stack[i];}delete [] stack;stack = newstack;
}void Stack::show()
{for(int i=count-1;i>=0;i--){cout<<stack[i]<<" ";}cout<<endl;
}int Stack::pop()
{if(empty()){cout<<"error"<<endl;return -1;}stack[--count] = 0;return 0;
}
class Queue
{
private:int len;int count = 0;int *queue;
public:Queue():len(10){queue = new int[len];queue[len] = {0};};Queue(int n):len(n){queue = new int[len];queue[len] = {0};};Queue(Queue &other):len(other.len){queue = new int[len];for(int i=0;i<len;i++){queue[i] = other.queue[i];}};Queue &operator=(const Queue &other)    //拷贝赋值函数{if(this != &other){this->count = other.count;this->len = other.len;int *newqueue = new int[this->len];for(int i=0;i<len;i++){newqueue[i] = other.queue[i];}delete [] queue;queue = newqueue;}return *this;}~Queue(){delete []queue;};int front();int back();bool empty();int size();int push(int n);void pop();void expand();void show();
};
int Queue::front()
{if(empty()){cout<<"error"<<endl;return  -1;}return queue[count-1];
}
int Queue::back()
{if(empty()){cout<<"error"<<endl;return  -1;}return queue[0];
}
bool Queue::empty()
{return count == 0;
}
int Queue::size()
{return count;
}
int Queue::push(int n)
{if(count == len){expand();}queue[count++] = n;return 0;
}
void Queue::pop()
{for(int i=0;i<count;i++){queue[i] = queue[i+1];}count--;
}
void Queue::expand()
{len = len * 2;int *newqueue = new int[len];for(int i=0;i<count;i++){newqueue[i] = queue[i];}delete [] queue;queue = newqueue;
}
void Queue::show()
{for(int i=0;i<count;i++){cout<<queue[i]<<"  ";}cout<<endl;
}
int main()
{Stack s1(3);s1.push(1);s1.push(2);s1.push(3);s1.push(3);s1.pop();Stack s2;s2 = s1;s1.show();s2.show();cout<<s2.top()<<"   "<<s2.size()<<endl;cout<<"************"<<endl;Queue q1(3);q1.push(1);q1.push(2);q1.push(3);q1.show();q1.pop();q1.show();return 0;
}

这篇关于2024.9.3的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1134512

相关文章

2024.9.8 TCP/IP协议学习笔记

1.所谓的层就是数据交换的深度,电脑点对点就是单层,物理层,加上集线器还是物理层,加上交换机就变成链路层了,有地址表,路由器就到了第三层网络层,每个端口都有一个mac地址 2.A 给 C 发数据包,怎么知道是否要通过路由器转发呢?答案:子网 3.将源 IP 与目的 IP 分别同这个子网掩码进行与运算****,相等则是在一个子网,不相等就是在不同子网 4.A 如何知道,哪个设备是路由器?答案:在 A

2024.9.8

打了一上午又一下午的比赛 DABOI Round 1 【MX-X3】梦熊周赛 · 未来组 3 & RiOI Round 4 第一场还好,共得180pts 难度比较合理,偏向正常noip 然后就发现自己计数问题很难做到推广思路,只会部分分 梦熊的模拟赛就抽象了 题目难度夸大不小,而且题目看起来出的很陌生?没有见过类似的出题方式 然后就改了改赛上的题 https://www.luog

2024.9.7

写了一套质量真的真的很高的模拟赛题 T1 A. 数正方体 时间限制: 1 s   内存限制: 1024 MB   测评类型: 传统型 T1 数正方体 题目描述 众所周知,正方形有 4 个点,4 条边;正方体有 4 个点,12 条边,6 个面,定义点为零维基础图形,线段为一维基础图形,正方形为二维基础图形,正方体为三维基础图形…,那么请问,一个 n 维基础图形包含多少个 m 维基础图形呢 (m≤

2024.9.6

做题历程: 第一套 A. ladice B. card C. dojave D. drop 第二套 P9868 [NOIP2023] 词典 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) P9869 [NOIP2023] 三值逻辑 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) P9870 [NOIP2023] 双序列拓展 - 洛谷 | 计算机科学教

2024.9.6 作业

1> 手写unique_ptr指针指针 #include <iostream>using namespace std;template <typename T>class my_unique_ptr{public:explicit my_unique_ptr(T *p = nullptr) noexcept // 构造函数{ptr = p;}~my_unique_ptr() noexcep

2024.9.4

继续该题,除了实在改不来的,基本快改完了 #2316. 飓风(hurricane) #1575. 【EOJ Long Round】本质不同GCD 被hack了重新写一下,乱搞复杂度大了点 #2303. 最小子列(subseq) 先从没有限制考虑起,倒序遍历,将合法字符压进队列即可 在考虑加入k的限制,考虑舍弃一些权值较小的即刻 #2304. 序列变换(trans)

网络编程(学习)2024.9.3

目录 UDP多点通信 广播 理论 发送端--相当于udp客户端 接收端--相当于udp服务器 组播 理论 发送端 接收端 UDP多点通信 广播 理论 前面介绍的数据包发送方式只有一个接受方,称为单播 如果同时发给局域网中的所有主机,称为广播只有用户数据报(使用UDP协议)套接字才能广播 一般被设计成局域网搜索协议 广播地址:以192.168.1.0 (255.255.2

2024.9.4(k8s)

一、前期准备 1、配置主机映射 [root@k8s-master ~]# vim /etc/hosts 192.168.8.168 k8s-master192.168.8.176 k8s-node1192.168.8.177 k8s-node2 [root@k8s-master ~]# ping k8s-master 2、配置yum源 [root@k8s-mast

C++ 学习 2024.9.3

封装栈与队列 栈: #include <iostream>using namespace std;class Stack{private:int *a; //动态数组存储元素int size; //栈容量int top; //栈顶元素索引public://有参构造Stack(int size):size(size),top(-1){a=new int[size];}/

2024.9.3 作业

自己实现栈和队列 代码: /*******************************************/ 文件名:sq.h /*******************************************/ #ifndef SQ_H#define SQ_H#include <iostream>#include<cstring>using namespace st