当顺序表遇上STL函数:一场高效的替代之旅

当顺序表遇上STL函数:一场高效的替代之旅
//1.创建vector
vector 的底层就是⼀个会⾃动扩容的顺序表,其中创建以及增删查
改等等的逻辑已经实现好了,并且也完成了封装。

#include <vector> // 头⽂件
const int N = 20;
struct node
{
   
	int a, b, c;
};
void init()
{
   
	vector<int> a1; // 创建⼀个空的可变⻓数组
    vector<int> a2(N); // 指定好了⼀个空间,⼤⼩为 N
    vector<int> a3(N, 10); // 创建⼀个⼤⼩为 N 的 vector,并且⾥⾯的所有元素都是 10
    vector<int> a4 = {
   1, 2, 3, 4, 5}; // 使⽤列表初始化,创建⼀个 vector
    // <> ⾥⾯可以放任意的类型,这就是模板的作⽤,也是模板强⼤的地⽅
    // 这样,vector ⾥⾯就可以放我们接触过的任意数据类型,甚⾄是 STL
    vector<string> a5; // 放字符串
    vector<node> a6; // 放⼀个结构体
    vector<vector<int>> a7; // 甚⾄可以放⼀个⾃⼰,当成⼀个⼆维数组来使⽤。并且每⼀维都是可变的
    vector<int> a8[N]; // 创建 N 个 vector
}

//2.size/empty

  1. size :返回实际元素的个数;
  2. empty :返回顺序表是否为空,因此是⼀个 bool 类型的返回值。
    a. 如果为空:返回true
    b. 否则,返回false
void test_size()
{
   
    // 创建⼀个⼀维数组
    vector<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值