//1.原始数组 NSMutableArray *array = [NSMutableArray arrayWithObjects:@"1",@"2",@"3",nil]; //2.倒序的数组 NSArray* reversedArray = [[array reverseObjectEnumerator] allObjects]; 输出 reversedArray 为 3 2 1. //2.枚举器法 NSLog(@"------- 枚…
迭代器(iterator) 是一种对象,它能够用来遍历标准模板库容器中的部分或全部元素,每个迭代器对象代表容器中的确定的地址.迭代器修改了常规指针的接口,所谓迭代器是一种概 念上的抽象:那些行为上像迭代器的东西都可以叫做迭代器.然而迭代器有很多不同的能力,它可以把抽象容器和通用算法有机的统一起来.以上引自百度        对列表来说,除了iterator,JAVA还给了一个更强大的ListIterator,它可以实现逆序遍历列表中的元素,也就是123456,返厍654321.挺实用的功能,下面…
python列表和字符串的三种逆序遍历方式 列表的逆序遍历 a = [1,3,6,8,9] print("通过下标逆序遍历1:") for i in a[::-1]: print(i, end=" ") print("\n通过下标逆序遍历2:") for i in range(len(a)-1,-1,-1): print(a[i], end=" ") print("\n通过reversed逆序遍历:") f…
单链表的遍历,逆序,插入,删除 #include<stdio.h> #include<stdlib.h> #include <string.h> #define bzero(a, b) memset(a, 0, b)//windows平台下无bzero函数. 增加宏拓展移植性 struct node { int data; //有效数据 struct node *pNext;//指向下一个节点的指针 }; struct node * make_node(int data…
POJ2828.Buy Tickets 这个题是插队问题,每次有人插队的时候,其后的所有数据都要进行更新,如果我们反着推,就可以把所有的数据都安排好并且不用再对已插入的数据进行更新,因为逆序处理的话所有的位置都是确定的,第i个人插进来,这个人前面一定有i个空位.逆序遍历一遍查询更新线段树就可以. 这个题简直要写哭了,本来是个基础题,但是我自己的线段树模板的左儿子lson是l,m,右儿子rson是m+1,r,程序直接跑崩了,右儿子改成m,r就可以过,并不是很懂为什么.要了学长的代码,学长写的是我模…
01昨天课程回顾 02函数对象适配器 函数适配器是用来让一个函数对象表现出另外一种类型的函数对象的特征.因为,许多情况下,我们所持有的函数对象或普通函数的参数个数或是返回值类型并不是我们想要的,这时候就需要函数适配器来为我们的函数进行适配. 使用方法: 第一步 让函数对象 1 绑定器适配器 作用: 可以动态改变函数对象的一个参数,不用生成多个函数对象 2. 取反适配器 作用:改变函数谓词(返回值为bool的函数对象)的返回状态//true改为false  false改为true 3. 普通函数适…
直接上代码: class ArrayStack{ //用数组模拟栈 int maxSize; int[] stack; int top = -1;//表示栈顶 public ArrayStack(int maxSize) { this.maxSize = maxSize; this.stack = new int[maxSize]; } //1, 入栈 public void pushStack(int value){ //判断是否满 if(IsFull()){ System.out.print…
---恢复内容开始--- 使用递归函数逆序一个栈 题目:使用递归函数,不借助其他数据结构逆序一个栈. 我的思路:使用递归函数保存栈中变量. 递归函数分两个,一个获取并移除栈底元素,另一个负责逆序.其实俩个递归思路基本一致. 获取并移除栈底元素的递归结构图如下: 这个结构很清楚了.照着写就是代码了. 代码如下 int get_and_remove_last(stack<int>& s) { temp=s.top(); s.pop(); if(s.empty()) return temp;…
目录 1 问题描述 2 解决方案 1 问题描述 问题描述 编写一个程序,读入一组整数(不超过20个),并把它们保存在一个整型数组中.当用户输入0时,表示输入结束.然后程序将把这个数组中的值按逆序重新存放,并打印出来.例如:假设用户输入了一组数据:7 19 -5 6 2 0,那么程序将会把前五个有效数据保存在一个数组中,即7 19 -5 6 2,然后把这个数组中的值按逆序重新存放,即变成了2 6 -5 19 7,然后把它们打印出来. 输入格式:输入只有一行,由若干个整数组成,中间用空格隔开,最末尾…
一,数据结构——链表全操作: 链表形式: 其中,每个节点(Node)是一个结构体,这个结构体包含数据域,指针域,数据域用来存放数据,指针域则用来指向下一个节点: 特别说明:对于单链表,每个节点(Node)可以通过指针域(Node *next)来找到下一个节点,但却不能够找到上一个节点: 只需要知道头结点就可以确定整个链表: 对链表进行的操作一般都需要遍历链表,而链表结束的标志为NULL(要么next指针为空,要么头结点为空): 若要断开两个节点联系,要先保存下个节点,否则后面的节点无法找到: 关…