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

张家港外贸网站建设/软文代写兼职

张家港外贸网站建设,软文代写兼职,专业的免费网站建设哪家,ppt模板免费下载 素材红色主题线性表是由零个或多个数据元素组成的有序序列。 特点: 数据元素间是有顺序的; 数据元素的个数是有限的; 一般来说,数据元素的类型是相同的(强类型语言)。c/c是强类型语言,必须指定数据类型。…

线性表是由零个或多个数据元素组成的有序序列。

特点:

  • 数据元素间是有顺序的;

  • 数据元素的个数是有限的;

  • 一般来说,数据元素的类型是相同的(强类型语言)。c/c++是强类型语言,必须指定数据类型。jsphppython等语言是弱类型就不需要指定数据类型。

线性表的顺序存储结构指的是用一段连续的存储空间来存储线性表中的数据元素,数组就是一个典型的顺序存储结构。

下面实现一个动态数组。

头文件

#pragma once
class DynamicArray
{
private://成员变量int* data;//data指向存放数据元素的内存空间,堆区空间,数据元素类型默认是整数int size;//动态数组的大小,多少个数据元素,也就是线性表的长度int capacity;//动态数组容量
public://特殊成员函数DynamicArray();//无参构造DynamicArray(int capacity);//有参构造~DynamicArray();//析构//普通成员函数//尾部添加元素void pushBack(int value);//打印动态数组void printDynamicArray();//在指定位置前插入元素void insertByIndex(int index,int value);//查询相关操作int getCapacity();//返回动态数组容量int getSize();//返回动态数组的大小int getValueByIndex(int index);//返回指定位置的元素int front();//返回动态数组第一个元素int back();//返回动态数组最后一个元素//删除元素void popBack();//删除最后一个元素void delByIndex(int index);//删除元素
};

源文件

#include<iostream>
#include"dynamicArray.h"
using namespace std;
#include<time.h>
DynamicArray::DynamicArray()//无参构造,初始化成员变量
{capacity = 5;//动态数组默认长度为5data = new int[capacity];//data指向五个大小的内存空间size = 0;
}
DynamicArray::DynamicArray(int capacity)//有参构造,传入容量
{this->capacity = capacity;data = new int[capacity];size = 0;
}
DynamicArray::~DynamicArray()//析构,释放内存空间
{if(data!=nullptr){delete[]data;data = nullptr;}
}
void DynamicArray::pushBack(int value)
{//考虑容量够不够if (capacity == size)//容量已满,需要扩容,扩充一倍{int* temp_data = new int[capacity * 2];//复制原始空间数据到新空间for (int i = 0; i < size; i++){temp_data[i] = data[i];}delete[]data;//释放原始空间data = temp_data;capacity = capacity * 2;}data[size] = value;size++;
}
void DynamicArray::insertByIndex(int index, int value)
{if (index<0 || index>size - 1){return;}if (capacity == size){int* temp_data = new int[capacity * 2];for (int i = 0; i < size; i++){temp_data[i] = data[i];}delete[]data;//释放原始空间data = temp_data;//更新成员变量capacity = capacity * 2;//更新容量//新元素插在index前,index开始的元素都往后移for (int i = size - 1; i >= index; i--){data[i + 1] = data[i];}data[index] = value;size++;}
}
void DynamicArray::printDynamicArray()
{for (int i = 0; i < size; i++){cout << data[i]<<" ";}cout << endl;
}
int DynamicArray::getCapacity()
{return capacity;
}
int DynamicArray::getSize()
{return size;
}
int DynamicArray::getValueByIndex(int index)
{if (index<0 || index>size - 1){return NULL;}return data[index];
}
int DynamicArray::front()
{if (size>0){return data[0];}return NULL;
}
int DynamicArray::back()
{if (size > 0){return data[size - 1];}return NULL;
}
void DynamicArray::popBack()
{if (size > 0){size--;}
}
void DynamicArray::delByIndex(int index)
{if (index<0 || index>size - 1){return;}for (int i = index; i < size - 1; i++){data[i] = data[i + 1];}size--;
}
void test_dynamicarray()
{//DynamicArray dy;DynamicArray* dy = new DynamicArray();//堆对象dy->pushBack(11);dy->pushBack(12);dy->pushBack(13);dy->pushBack(14);dy->pushBack(15);dy->printDynamicArray();dy->insertByIndex(2, 88);dy->printDynamicArray();cout<<"动态数组容量为"<<dy->getCapacity()<<endl;/*for (int i = 0; i < 5; i++){dy->pushBack(i + 20);}dy->printDynamicArray();cout << "动态数组容量为" << dy->getCapacity() << endl;*/cout << "动态数组的大小" << dy->getSize()<<endl;cout << "下标为三的元素" << dy->getValueByIndex(3) << endl;cout << "动态数组第一个元素是" << dy->front()<<endl;cout << "动态数组最后一个元素是" << dy->back() << endl;;dy->popBack();dy->printDynamicArray();dy->delByIndex(2);dy->printDynamicArray();delete dy;
}
void test_homework()
{srand((unsigned int)time(0));//srand(time(0));DynamicArray d;//DynamicArray* dy = new DynamicArray(8);for (int i = 0; i < 8; i++){d.pushBack(rand() % 41+60);//生成0-19之间的整数}//d.pushBack(5);//d.pushBack(7);//d.pushBack(8);//d.pushBack(6);//d.pushBack(2);//d.pushBack(1);//d.pushBack(9);d.printDynamicArray();for (int i = 0; i < d.getSize();){if (d.getValueByIndex(i)%2!=0){d.delByIndex(i);}else{i++;}}d.printDynamicArray();}
int main()
{//test_dynamicarray();test_homework();return 0;
}

http://www.whsansanxincailiao.cn/news/32002032.html

相关文章:

  • wordpress能做分类信息网站/百度开店怎么收费
  • 宁波网络推广外包/关键词优化排名软件推荐
  • 网站建设模板是什么意思/网络营销的市场背景
  • 网站建设互联网营销营销推广/网页模板素材
  • 天津市建设委员会官方网站/怎么学互联网怎么赚钱
  • 同城换物网站为什么做不起来/网络推广发帖网站
  • tp5做企业网站/网站关键词全国各地的排名情况
  • 阿拉善盟网站建设/电商还有发展前景吗
  • 电商网站开发ssm框架/sem是什么意思职业
  • 贵州新站优化/网站统计工具有哪些
  • 淘宝网站制作多少钱/厦门网站推广公司哪家好
  • 网站制作费用发票/邳州网站开发
  • owasp 网站开发/手机cpu性能增强软件
  • 政府网站的微信微博建设/百度系优化
  • 浙江网站建设正规公司/站长工具ip地址查询
  • 三网合一网站建设方案/友情链接系统
  • 行业门户型网站制作/拉新人拿奖励的app
  • 建设配资网站有要求吗/seoaoo
  • 便宜机票的网站建设/百度权重10的网站
  • 企业网站ui设计欣赏/每日财经最新消息
  • 抖音代运营服务/视频优化软件
  • 纪检监察门户网站建设论证报告/长沙百度快速优化
  • 公司网站公众号维护怎么做/做网络推广怎么找客户
  • 小公司管理软件/整站优化服务
  • 17zwd一起做业网站/在线培训系统平台
  • 企业网页制作软件/优化关键词的步骤
  • app download/旺道seo营销软件
  • 珠海网站建设公司排名/青岛新闻最新消息
  • 网站建设的成本/seo搜索优化是什么意思
  • 一般网站图标是用什么做的/seo咨询邵阳