您的位置:首页 > 文旅 > 美景 > 国内专业的企业展厅设计_自我介绍网页制作模板_游戏推广员上班靠谱吗_马鞍山seo

国内专业的企业展厅设计_自我介绍网页制作模板_游戏推广员上班靠谱吗_马鞍山seo

2025/2/10 8:36:29 来源:https://blog.csdn.net/MRDL9/article/details/142402888  浏览:    关键词:国内专业的企业展厅设计_自我介绍网页制作模板_游戏推广员上班靠谱吗_马鞍山seo
国内专业的企业展厅设计_自我介绍网页制作模板_游戏推广员上班靠谱吗_马鞍山seo

C++对C的函数部分的扩充

封装

#include <iostream>
#include <memory.h>
#include <stdlib.h>
#include <string.h>
using namespace std;
using datatype = int;
//封装一个顺序表
class SeqList 
{
private:datatype* ptr;        //指向堆区空间的起始地址int size;             //总长度int len = 0;          //当前顺序表实际长度
public:void init(int n) {//在堆区申请出一个长度为 n 的空间,将其实地址赋值给 ptrthis->ptr = new datatype[n];//给 len 进行初始化this->len = 0;this->size = n;}//判空bool empty() {return this->len == 0;}//判满bool full() {return this->len == this->size;}//尾插void push_back(datatype e) {//判断是否满了if (this->full()) {return;}this->ptr[len++] = e;}//插入void insert(int index, datatype e) {if (index < 0 || index > len) return;if (full()) return;for (int i = len; i > index; i--) {ptr[i] = ptr[i - 1];}ptr[index] = e;len++;}//任意位置删除void erase(int index){if (index < 0 || index >= len) return;for (int i = index; i < len - 1; i++) {ptr[i] = ptr[i + 1];}len--;}//尾删void pop_back() {if (empty()) return;len--;}//求长度int length() {return len;}//获取任意位置元素datatype at(int index) {if (index < 0 || index >= len) {// 返回一个特定值表示错误return -1;}return ptr[index];}//将顺序表进行排序void sort(bool flag) {for (int i = 0; i < len - 1; i++) {for (int j = 0; j < len - i - 1; j++) {if ((flag && ptr[j] > ptr[j + 1]) || (!flag && ptr[j] < ptr[j + 1])) {datatype temp = ptr[j];ptr[j] = ptr[j + 1];ptr[j + 1] = temp;}}}}//定义展示函数void show() {//判空cout << "当前顺序表中的元素分别是:";for (int i = 0; i < this->len; i++) {cout << this->ptr[i] << " ";}cout << endl;}
};
int main() 
{SeqList sl;           //实例化一个顺序表对象sl.init(5);            //申请空间sl.push_back(1);sl.push_back(3);sl.push_back(5);sl.show();sl.insert(1, 2);sl.show();sl.erase(2);sl.show();sl.pop_back();sl.show();cout << "顺序表长度为:" << sl.length() << endl;int elementAtIndex = sl.at(1);if (elementAtIndex!= -1) {cout<< elementAtIndex << endl;} else {cout << "错误" << endl;}sl.sort(true);sl.show();sl.sort(false);sl.show();return 0;
}

版权声明:

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

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