Vector C++自制vector
程序员文章站
2022-03-23 14:53:45
...
Vector 动态数组
自动管理分配数组内存
数组名 v
1.插入元素 v.push_back()
2.弹出最后一项 v.pop_back()
3.求数组长度 v.size()
4.指向数组第一项的地址 v.begin()
|
⚠️这里是2个指针
|
5.指向数组最后一项的地址 v.end()
6.数组第一项的值 v.front()
7.数组最后一项的值 v.back()
8.判断数组是否为空 v.empty()
9.定义一个动态数组 vectorv
#include<iostream>
#include<vector> //动态数组头文件
#include<algorithm>
using namespace std;
bool cmp(int a,int b){
return a>b;
}
int main(){
vector<int>v;
for(int i=0;i<=10;i++) v.push_back(i); //输入元素
cout<<v.size()<<endl; //数组长度
cout<<v.front()<<endl; //数组第一项
cout<<v.back()<<endl; //数组最后一项
cout<<*v.begin()<<endl; //数组第一项
cout<<*v.end()<<endl; //数组最后一项
sort(v.begin(),v.end(),cmp); //排序
while(!v.empty()){
cout<<v.back()<<endl;
v.pop_back();
}
return 0;
}
Make a Vector
#include<iostream>
using namespace std;
int a[1000];
int s=0;
void push_back(int tmp){
a[s] = tmp;
s++;
}
int size(){
return s;
}
int j = size()-1;
int front(){
return a[0];
}
int back(){
return a[s-1];
}
int* begin(){
int* c;
c=&a[0];
return c;
}
int* end(){
int* b;
b=&a[size()-1];
return b;
}
bool empty(){
for (int i = 1; i < 5; i++)
if (a[i] != NULL)
return false;
return true;
}
void pop_back(){
a[j] = NULL;
}
int main() {
for (int i = 1; i < 5; i++) push_back(i);
cout << size() << endl;
cout << front() << endl;
cout << *begin() << endl;
cout << back() <<endl;
cout << *end() <<endl;
while(!empty()) {
if (a[j] != NULL)
cout << a[j] << ' ';
j--;
pop_back();
}
return 0;
}
上一篇: js如何实现点击按钮出现隐藏和显示效果?
下一篇: jquery有哪些属性选择器