数据结构与算法之—数组(一)

来源:互联网 发布: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;  }  




原创粉丝点击