a[::-1]相当于 a[-1:-len(a)-1:-1],也就是从最后一个元素到第一个元素复制一遍。
-
将单链表中的第一个节点的数字复制,然后将复制好的数字添加到最后一个节点,然后返回新的链表的最后两个...
2017-10-24 09:41:42关于单链表的知识点,小编就不在这里介绍了,这次主要是用递归的方式来完成这道题目...从这个结果中就可以看出,The resulting list 中的已经将第一个节点插入到最后一个节点的后面去,然后返回了最后两个节点的总和。关于单链表的知识点,小编就不在这里介绍了,这次主要是用递归的方式来完成这道题目,不用循环方式。对于刚接触的递归的同学们,看这篇文章还是没关系的,主要是理解逻辑就行了。
下面是展示list.h里的代码是什么样的:
//This is the list.h file #include<iostream> #include<cctype> #include<cstring> using namespace std; struct node { int data; node * next; }; class list { public: //These functions are already provided for you list(); //Supplied ~list(); //Supplied void build(); //Supplied void display(); //Supplied //Duplicate the first node and place it at the end of a linear linked list int duplicate_first(); private: //Duplicate the first node and place it at the end of a linear linked list int duplicate_first(node * head, node *& tail, int num); node * head; node * tail; };
因为建立单链表的时候,用到了tail指针,那么就得在运行这个程序的时候,就得需要将tail指针pass by reference。
下面是展示如何实现这两个函数:
//This is the list.cpp file #include "list.h" //Duplicate the first node and place it at the end of a linear linked list int list::duplicate_first() { return duplicate_first(head,tail,head->data); } int list::duplicate_first(node * head, node *& tail, int num) { if(!head) return 0; if(!head->next) { node * temp = new node; temp->data = num; temp->next = NULL; head->next = temp; int Num = tail->data; tail = temp; return Num+num; } return duplicate_first(head->next,tail,num); }
因为在wrapper function里面就已经将num的值传给recursive function的num这个参数,那么就可以直接用这个num参数了。在recursive function里就直接用递归的方式就做出这个功能了。
下面是展示结果的:
从这个结果中就可以看出,The resulting list 中的已经将第一个节点插入到最后一个节点的后面去,然后返回了最后两个节点的总和。 -
a[::-1]相当于 a[-1:-len(a)-1:-1],也就是从最后一个元素到第一个元素复制一遍。...
2018-05-21 17:13:00a[::-1]相当于 a[-1:-len(a)-1:-1],也就是从最后一个元素到第一个元素复制一遍。 转载于:https://www.cnblogs.com/cranx/p/9068245.html转载于:https://www.cnblogs.com/cranx/p/9068245.html
-
java操作文件复制,从多个文件夹复制同类型文件到一个文件
2019-12-18 15:07:33java操作文件复制,从多个文件夹复制同类型文件到一个文件 因为得到的资料是按章节分开的,每个章节是一个文件夹,里面有视频文件和讲解文档文件,有的里面还有文件夹,想要从每个章节文件夹中将文档文件全部复制到...java操作文件复制,从多个文件夹复制同类型文件到一个文件
因为得到的资料是按章节分开的,每个章节是一个文件夹,里面有视频文件和讲解文档文件,有的里面还有文件夹,想要从每个章节文件夹中将文档文件全部复制到一个文件夹中方便查看。
第一次自己想着问题需求做的代码,感觉实在是心里忐忑。最后功能虽然实现了,但总觉得不简洁又有些问题可能没发现,继续努力吧!package com.stageOne; import java.io.*; * 步骤: * 1,创建File对象,关联原始 文件夹 * 2. 创建目的地文件夹文件对象 * 3. 判断文件是否存在,不存在则创建 * 4,遍历文件夹中所有内容,找到文件名为"笔记"的文件夹,复制文件夹中所有内容到新的目录下 * 遍历文件夹中所有内容 ,使用遍历文件方法 * 5.遍历文件的方法: * 5.1获取给定的File目录下所有的文件或者目录的File数组 5.2遍历该File数组,得到每一个File对象 5.3如果该File对象是目录 判断文件夹名字是否为笔记 是:调用复制文件的方法, 不是:递归调用 * 6,复制文件的方法 * 6.1获取数据源File对象目录下的所有文件或目录的File数组 * 6.2遍历该File数组,得到每一个File对象 * 6.3判断是否为目录 * 是:递归调用copyFile 不是,调用字节流复制文件 * 7,字节流复制文件:复制文件采用字节缓冲流一次读取一个数组的方式进行复制 * */ public class copyFileTest { public static void main(String[] args) throws IOException { //创建File对象,关联原始 文件夹 File srcFile = new File("G:\\原始 文件夹");//所有章节所在的文件夹 //创建目的地文件夹File对象 File destFile = new File("G:\\","文档"); //判断文件是否存在,不存在则创建 if (!destFile.exists()){ destFile.mkdir(); } //历文件夹中所有内容 ,使用遍历文件方法 getAllFiles(srcFile,destFile); } //遍历文件的方法: private static void getAllFiles(File srcFile,File destFile) throws IOException { //获取给定的File目录下所有的文件或者目录的File数组 File[] files = srcFile.listFiles(); //遍历该File数组,得到每一个File对象 for (File file:files){ //如果该File对象是目录 if(file.isDirectory()){//总觉得这儿有问题? //判断文件夹名字是否为笔记(每个文档都在每个章节文件夹下的 笔记 文件夹里面,若是文件目录有特征,也可以用file.getName.contains("XX")) //System.out.println(file.getName()); if (file.getName().equals("笔记")){ copyFloder(file,destFile); }else { getAllFiles(file,destFile); } } } } //复制文件的方法 private static void copyFloder(File file,File destFile) throws IOException { //获取数据源File对象目录下的所有文件或目录的File数组 File[] files = file.listFiles(); //遍历该数组。得到每一个File对象 for (File f:files){ if (f.isDirectory()){ copyFloder(f,destFile); }else { copyFile(f,destFile); } } } private static void copyFile(File file,File destFile) throws IOException { BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file)); File ff = new File(destFile,file.getName()); BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(ff)); byte[] bys = new byte[1024]; int len; while((len=bis.read(bys))!=-1){ bos.write(bys,0,len); } // System.out.println("复制成功"); bis.close(); bos.close(); } }
-
python基本算法合集(7)——将一个列表中的数据复制到另外一个列表中
2021-02-25 08:19:24今天的题目比较简单,只需要将一个列表中的数据全部或部分复制到另外一个新的列表中,可以...如b=a[1:]即表示从a列表中的第二个数据开始到最后一个数据复制给新的列表: a=[1,2,3] b=a[1:]#切片操作,冒号前后没有数字今天的题目比较简单,只需要将一个列表中的数据全部或部分复制到另外一个新的列表中,可以使用切片的方法完成。
a=[1,2,3] b=a[:]#切片操作,冒号前后没有数字的表示将a列表的全部元素赋值到b列表中。 #列表的索引如果从左到右的那么索引从0开始,如果从右往左的那么索引-1开始。 print (b)
如果需要将部分数据复制到新的列表中,可以在新列表中指定索引
如b=a[1:]即表示从a列表中的第二个数据开始到最后一个数据复制给新的列表:a=[1,2,3] b=a[1:]#切片操作,冒号前后没有数字的表示将a列表的全部元素赋值到b列表中。 #列表的索引如果从左到右的那么索引从0开始,如果从右往左的那么索引-1开始。 print (b)
效果如下:
如果要从a列表的尾部开始取值,那么索引就要用-1(-1表示最后一个数据),如a[:-1]就是将a列表从尾部开始取值取到最前面的数据,为区分上面程序的效果,这里我用-2,即从倒数第二个数据取到 最前面的数据结束。a=[1,2,3] b=a[:-2]#切片操作,冒号前后没有数字的表示将a列表的全部元素赋值到b列表中。 #列表的索引如果从左到右的那么索引从0开始,如果从右往左的那么索引-1开始。 print (b)
效果如下图:
-
VI操作--跳到最后一行和跳到最后一行的最后一个字符
2014-01-22 10:59:333.跳到第一行的第一个字符:先按两次“g”, 4.跳转到当前行的第一个字符:在当前行按“0”。 5.vi加密。进入vi,输入":" + "X" 之后就提示你输入两次密码。 6.文件重新载入 :e! 7.单行... -
[原创]VBA实现汇总excel,将多个Excel文件内容复制到一个Excel文件中
2013-12-11 11:02:00功能:遍历用户指定的文件夹,把文件夹中所有的excel文件的第一个表格的数据复制到本excel文件中。注意,每个excel文件中有效数据行的判断标准是A列的最后一个有数据的单元格的行号,比如A列到第10行结束,B列到第11... -
php 将一个文件夹下的所有文件复制到另一个文件夹里(并保持原有结构)
2019-10-23 17:17:50在工作中,公司需要我做一个可以管理多个公众号或者小程序的接口服务,并让我了解一下微信第三方服务器。我通过了解发现当公众号在某个第三方授权后,这个公众号的所有的消息提醒和事件提醒都会通知https:XXXXX/$... -
linux编辑文本(vim)时跳转到最后一行和第一行及相关指令
2020-12-22 16:10:183.跳到第一行的第一个字符:先按两次“g”, 4.跳转到当前行的第一个字符:在当前行按“0”。 5.vi加密。进入vi,输入":" + "X" 之后就提示你输入两次密码。 6.文件重新载入 :e! 7.单行复制 将光标移到复制行 按... -
linux(vim)时跳转到最后一行和第一行及相关指令
2019-08-14 13:45:073.跳到第一行的第一个字符:先按两次“g”, 4.跳转到当前行的第一个字符:在当前行按“0”。 5.vi加密。进入vi,输入":" + “X” 之后就提示你输入两次密码。 6.文件重新载入 :e! 7.单行复制 将光标移到复制行 按 '... -
自己复制粘贴出来的第一个java小程序
2007-11-22 23:39:00按着Struts入门教程做了一个小程序,不带数据库连接的一个登陆判断。 最大的收获就是MyEclipse的运行配置。 在servers里不能点完myeclipse tomcat算完了,还要把项目加载到里面。 就这么简单的道理我弄了一下午都... -
【C语言从零到入门】第三节 我的第一个C语言程序
2020-04-10 15:12:32创建并运行第一个C语言程序 打开Dev-C++, 点击 “文件 -> 新建 -> 项目” 选择“Console Application”和“C项目”,在下面的编辑框中输入项目名称(项目名称可以随便写,我输入的是“C程序”),最后... -
删除数组第一个元素
2017-11-19 11:24:08删除数组 arr 第一个元素。不要直接修改数组 arr,结果返回新的数组 示例1 输入 [1, 2, 3, 4] 输出 [2, 3, 4] 第一种::运用slice()的浅克隆去复制元素从第二个开始到最后一个 function curtail(arr)... -
【Linux-vim】vim文件:查看某几行,把某几行复制到另一个文件中,
2019-05-05 15:52:36一、查看文件的某几行 1、使用cat命令 (1)查看文件的前10行: ...(3)查看文件从第10行开始直到最后一行: cat filename |tail -n +10 (4)查看文件前10行的后5行,即第6~10行: cat filename |he... -
js获取数组最后一个数据的方法
2019-12-04 20:56:541.根据数组长度 var arr = [1,2,3]; let last = arr[arr.length-1]; // 3 2.使用数组方法slice(-1) ...当使用负数作为参数时就表示从数组末尾开始计数。...(注:-1 指最后一个元素,-2 指倒数第二个元素); v... -
通过PHP current函数获取未知字符键名数组第一个元素的值
2020-12-19 15:01:40关于current()函数: 每个数组中都有一个内部的指针指向它“当前的”单元,初始指向插入到数组中的第一个单元。用current()获取。 类似函数: end() 将array的内部指针移动到最后一个单元并返回其值。 next()返回... -
合并升序链表,复制复杂链表,找倒数第K个节点
2018-08-15 11:39:32再新建新链表的两个头指针,一个用来遍历,一个不变用来最后返回 遍历两个链表进行数据比较 ,小的放到新的链表里,链表向后走,比较到其中一个链表遍历结束(链表为空即为结束) 然后把没遍历完的那个链表直接... -
linux vi 复制一个单词_vi或vim的快速操作技巧你知道吗?
2021-01-04 07:44:262. vi或vim控制方向快捷键j 快捷导航到下一行k 快捷导航到上一行h 向左l 向右1G 快捷导航到第一行GG 快捷导航到最后一行vi或vim快捷键3. vi或vim快速搜索快捷键vi或vim快速搜索快捷键3.1 使用快捷命令`/`正向搜... -
js删除数组中第一个元素方法总结
2020-01-01 20:17:44删除 arr 的第一个元素,不修改 arr。 返回新的数组 newArr newArr = [2, 3, 4, 5]; 方法 1、slice() 浅克隆去复制 arr 元素从第二个开始到最后一个 var arr = [1, 2, 3, 4, 5]; var newArr = arr.slice(1); console... -
写下第一个linux内核
2019-06-29 17:07:28让我们编写一个简单的内核,可以在X86系统上加载GRUB引导程序。此内核将在屏幕上显示一条消息,然后挂起。 x86机器是如何启动的呢? 先看看机器如何启动并将控制转移到内核: x86CPU 在物理地址[0xFFFFFFF0]处开始... -
Python学习(一): 创建项目,第一个程序
2019-06-11 14:39:20首先创建一个工程(第一次打开是如下图的界面,下次打开会是最后关闭的界面): .2.找一个地方放你的代码(我是放在G盘,新建一个文件夹:Python_Demo): 3.双击文件后,复制文件的路径,粘贴到Location下, 如... -
编写程序读入一组string类型的数据,并将它们存储在vector中,再将vector对象复制给一个字符指针数组。
2017-06-01 19:42:46为vector中的每个元素创建一个新的字符数组,并把该vector元素的数据复制到相应的字符数组中,最后把指向该数组的指针插入字符指针数组。(C++ Primer中文第四版 习题4.34) 2.代码实现 #include #include #incl -
iphone复制不能全选_一个都不能少,Excel高频实用TOP10快捷键
2021-01-09 11:25:22浏览数据概况——Ctrl+↑ ↓ ← → 方向键表格打开之后,第一时间先了解下数据情况,通过快捷键Ctrl+↑ ↓ ← →方向键快速移动到表格连续区域的最端部,对数据有个大概认知,可以了解数据一共有多少行、多少列。...