数据结构-线性表
来源:互联网 发布:吸入麻醉药mac值 编辑:程序博客网 时间:2024/06/06 03:31
顺序表最主要的特点是可以进行 随机访问,即可以通过表头元素的地址和元素的编号(下标),在 O(1)的时间复杂度内找到指定的元素。
顺序表的不足之处是插入和删除操作需要移动大量的元素,从而保持逻辑上和物理上的连续性。
在代码里面:
~Vector() { delete[] data;}
叫做析构函数。
析构函数是提供一个在对象删除前可以释放这个对象所占有的资源的机会
#include <iostream>#include <cstring>using namespace std;class Vector {private: int size, length; int *data;public: Vector(int input_size) { size = input_size; length = 0; data = new int[size]; } ~Vector() { delete[] data; } bool insert(int loc, int value) { if (loc < 0 || loc > length) { return false; } if (length >= size) { return false; } for (int i = length; i > loc; --i) { data[i] = data[i - 1]; } data[loc] = value; length++; return true; } int search(int value) { for (int i = 0; i < length; ++i) { if (data[i] == value) { return i; } } return -1; } bool remove(int index) { if (index < 0 || index >= length) { return false; } for (int i = index + 1; i < length; ++i) { data[i - 1] = data[i]; } length = length - 1; return true; } void print() { for(int i=0;i<length;i++){ if(i>0){ cout<<" "; } cout<<data[i]; } cout<<endl; }};int main() { Vector a(2); cout << a.insert(0, 1) << endl; cout << a.insert(0, 2) << endl; a.print(); cout << a.remove(1) << endl; a.print(); cout << a.search(0) << endl; cout << a.search(1) << endl; return 0;}
计蒜客练习答案:
顺序表的循环左移:
这里就是输出时左移而已
#include <iostream>#include <cstring>using namespace std;class Vector {private: int size, length; int *data;public: Vector(int input_size) { size = input_size; length = 0; data = new int[size]; } ~Vector() { delete[] data; } bool insert(int loc, int value) { if (loc >= size) { loc-=size; } for (int i = length; i > loc; --i) { data[i] = data[i - 1]; } data[loc] = value; length++; return true; } void print(int k) { for(int i=k;i<length;i++){ if(i>k){ cout<<" "; } cout<<data[i]; } for(int i=0;i<k;i++){ cout<<" "<<data[i]; } cout<<endl; }};int main() { int n,k; cin>>n>>k; Vector a(n); for(int i=0;i<n;i++){ int t; cin>>t; a.insert(i,t); } a.print(k); return 0;}
0 0
- 数据结构-线性表
- 数据结构-线性表的基本概念
- 数据结构-线性顺序表操作
- 数据结构拾遗---线性表
- 整理--数据结构--线性表
- 数据结构(线性表)
- 整理--数据结构--线性表
- 数据结构--顺序线性表
- 数据结构之线性表
- 数据结构-线性链表
- 数据结构-线性表
- 复习 [数据结构] ---- 线性表
- 数据结构---线性表
- 数据结构复习-线性表
- 数据结构之线性表
- 数据结构之线性表
- 线性链表---数据结构
- 数据结构—线性表
- Scrapy 默认设置
- BestCoder Round #79 (div.2)-jrMz and angles,,暴力求解~
- 微软官网下载正版WIN
- 通过运行时获取某个类下所有的属性
- java基础(二),hello word
- 数据结构-线性表
- 如何将路径中的中文换成%
- OpenGL 中 GLUT 消息事件处理函数
- 判断当前控制器是否是根控制器
- hdu 5662
- REST API
- Android Studio 2.0 稳定版新特性介绍
- Android五大布局
- 上海地铁游移动APP需求分析