数据结构中数组反转与STL库Algorithm中的reverse
2024-10-21 17:28:42
数组是个基本的线性数据结构,其实是内存中的一个块,我们可以通过c++的new来分配一个数组
int* a= new int[5];
然后填数组的每个元素
a[0]=1;
a[1]=2;
a[2]=6;
a[3]=4;
a[4]=5;
这个数组连续放着 1 2 6 4 5
下面编写反转函数,将数组的第i 和第n-1-i元素交换
void reverseArray(int* ar, int n)
{
int m=n/2;
for (int i=0;i<m;i++)
{
int temp=ar[i];
ar[i]=ar[n-1-i];
ar[n-1-i]=temp;
}
}
如果使用stl标准模板库,在algorithm中提供了反转函数reverse,
通过泛型,可以反转int型数组,char型,string型等等,例如
#include<algorithm>
#include<vector>
int main()
{
std::vector<int> a;
a.push_back(1);
a.push_back(2);
a.push_back(6);
std::reverse(a.begin(), a.end()); //将a中的int序列的1 2 6反转为6 2 1
return 0;
}
最新文章
- Hadoop相关日常操作
- wx jssdk
- tomcat启动不了
- 实现UniqueAttribute唯一性约束-优化版
- Visual Studio 2010初学者的调试指南:Mastering Debugging in Visual Studio 2010 - A Beginner&#39;s Guide
- php 消息实时推送(反ajax推送)
- 为什么要进行傅立叶变换?傅立叶变换究竟有何意义?如何用Matlab实现快速傅立叶变换
- Hibernate 插入,修改,删除,查询语句
- Team Homework #3
- 10.Git分支-分支管理(git branch命令)、分支开发工作流
- P2495 [SDOI2011]消耗战 lca倍增+虚树+树形dp
- python学习,excel操作之xlrd模块常用操作
- 剑指offer(40)数组中只出现一次的数字
- delphi 中record 的类操作符重载简介
- Java NIO系列教程(四) Scatter/Gather
- Git创建本地仓库并推送至远程仓库
- AtCoder 杂题训练
- Redis的认识和基本操作
- 基于json-lib-2.2.2-jdk15.jar的JSON解析工具类大集合
- PHP-7