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

本文探讨了掌握基本数据结构和算法对于程序员的重要性,以数组为例,介绍了在预留空间内的数组插入和删除操作,强调了这种方式在实际开发中能提升程序稳定性、安全性和性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       使用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;  
}  




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值