数据结构与算法之—数组(一)
来源:互联网 发布:xls文件解密软件 编辑:程序博客网 时间:2024/05/18 01:13
使用csdn已经2年多了,一直想在上面写点东西,确一直没有实施,在学校的时候,在业余的时候自己总会写点小程序,小算法什么的,由于工作后时间不充裕,有时间也想休息,出了工作的时候写点代码,回家基本不太想动,最近工作不是太忙,想自己写的感兴趣的东西。
由于自己在毕业之前自己平时写过较多的数据结构的东西,后来发现在找工作的时候还很有用,虽然在工作上,因为要提高效率的原因,很多的数据结构和算法都被一些封装好的数据结构和一些现成的算法所取代,但自己还是在时间可控的情况下,自己实现自己的数据结构和算法,很少去使用现成的库和算法,这也使得自己有时间在解决一些问题的时候会有些较好的想法。
对于一个合格的程序员来说,掌握好基本的数据结构和算法是十分有必要的,很好的掌握好这些,在你处理一些问题的时候,有时候会有很大的帮助的。
自己就从数据结构上的教材内容开始吧。
首先就是数组的操作,数组估计是我们平时用的最多的数据结构了,他的功能和性能都是很强大的,大家用起来也是最爽的,现在就来写几个数据的几个操作和算法吧
1.数组的插入
2.数组的删除
这里没有考虑动态内存分配的情况,只考虑在预留空间范围的操作,实际上这种也是比较有用的,可以事先分配合适的空间,在运行时不再分配空间,可以在有些实际开发中提高程序的稳定性和安全性,以及降低动态内存分配的开销,降低内存碎片。
#include<iostream> using namespace std; template<class T> bool insert(int p, T value, T a[], int size) { if(p < 0 || p > size) { return false; } for(int n = size; n >= p; n--) { a[n] = a[n-1]; } a[p] = value; return true; } template<class T> bool del_element(int p, T a[], int size) { if(p < 0 || p >= size) { return false; } for(int n = p; n < size-1; n++) { a[n] = a[n+1]; } return true; } int main() { int a[10] = {0}; for(int i = 0; i < 5; i++) { a[i] = i; } insert(0, -1, a, 5); del_element(0, a, 6); for(int j = 0; j < 8; j++) { cout<<a[j]<<endl; } return 0; }
- 数据结构与算法之—数组(一)
- Java数据结构与算法之数组(一)
- 数据结构与算法:数组(一)
- 数据结构与算法:数组(一)
- 学习JavaScript数据结构与算法(一)——数组
- 【数据结构与算法】一 数组
- 数据结构与算法之—数组(二)
- 数据结构与算法之数组
- 数据结构与算法之数组
- 算法与数据结构 之数组(三) 趣味算法
- 数据结构与算法(4)--一维树状数组
- 学习Javascript数据结构与算法系列笔记(一):数组
- <一>java数据结构与算法 数组
- Java数据结构与算法《一》数组
- Java数据结构与算法之数组排序——冒泡
- Java数据结构与算法之数组排序——选择
- Java数据结构与算法之数组排序——插入
- js数据结构与算法之——数组基本用法
- 制作能够引导多个ISO的U盘
- 详述 SQL Server 补丁安装常见问题
- 提高QGraphicsItem移动效率的解决方案
- proteus仿真51单片机存在的若干问题
- 解耦的故事(转tmfc blog)
- 数据结构与算法之—数组(一)
- spring两个重要属性lazy-init和abstract
- MFC CListCtrl的用法.Style/插入、删除、选中数据及排序问题等
- android中使用2D动画 — SurfaceView 转载
- (莱昂氏unix源代码分析导读-37) 文件系统与inode
- 责任连模式
- 项目管理概述学习记录(二)
- Apache+php+mysql在windows下的安装与配置图解(最新版)
- DedeCMS开发平台在win7上的安装