C++ 算法 中的 move_backward函数

首页 / C++入门教程 / C++ 算法 中的 move_backward函数

该函数用于按向后顺序移动元素,它接受三个参数,然后移动属于参数[first,last)的元素。元素的移动以相反的顺序开始,终止点为"结果"。

move_backward - 语法

template<class BidirectionalIterator1, class BidirectionalIterator2>
BidirectionalIterator2 move_backward(BidirectionalIterator1 first, BidirectionalIterator1 last, BidirectionalIterator2 result);

move_backward - 参数

first:它是参数的第一个元素的双向迭代器,其中元素本身包含在参数中。

last:这是参数最后一个元素的双向迭代器,其中元素本身不包含在参数中。

result:它是移动元素最终位置的双向迭代器。

move_backward - 返回值

该函数将第一个元素的迭代器返回到已移动元素的序列。

move_backward - 例子1

#include <iostream>     
#include <algorithm>   
#include <string>       
int main () 
{
  std::string elem[10] = {"kunal","suraj","shweta","chhavi"};
  std::move_backward (elem,elem+4,elem+5);
  elem[0]="keto";
  std::cout << "elem contains:";
  for (int j=0; j<10; ++j)
    std::cout << " [" << elem[j] << "]";
  std::cout << '\n';
  return 0;
}

输出:

elem contains: [keto] [kunal] [suraj] [shweta] [chhavi] [] [] [] [] []

move_backward - 例子2

#include<bits/stdc++.h>
int main()
{
	std ::vector <int> u1 {5,9,14,8,18};
	std ::vector <int> u2 {5,5,5,5};
	std ::cout << "u1 contains :";
	for(int j = 0; j < u1.size(); j++)
	std ::cout << " " << u1[j];
	std ::cout << "\n";
	std ::cout << "u2 contains :";
	for(unsigned int j = 0; j < u2.size(); j++)
	std ::cout << " " << u2[j];
	std ::cout << "\n\n";
	std ::move_backward (u2.begin(), u2.begin() + 3, u1.begin() + 3);
	std ::cout << "u1 after applying move_backward function contains:";
	for(unsigned int j = 0; j < u1.size(); j++)
	std ::cout << " " << u1[j];
	std ::cout << "\n";
            return 0;
}

输出:

u1 contains : 5 9 14 8 18
u2 contains : 5 5 5 5

u1 after applying move_backward function contains: 5 5 5 8 18

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

微服务架构实战160讲 -〔杨波〕

如何做好一场技术演讲 -〔极客时间〕

JavaScript核心原理解析 -〔周爱民〕

RPC实战与核心原理 -〔何小锋〕

深入浅出云计算 -〔何恺铎〕

微信小程序全栈开发实战 -〔李艺〕

基于人因的用户体验设计课 -〔刘石〕

结构执行力 -〔李忠秋〕

Rust 语言从入门到实战 -〔唐刚〕

好记忆不如烂笔头。留下您的足迹吧 :)