Java学习记录-ArrayList
Java学习记录-ArrayList Arraylist是一种可以自动调节大小的数组实现,类似于vector 使用Arraylist之前要导包:java.util.ArryaList; 一、创建一个空的的ArrayList对象: 1ArrayList<String> array=new...
Java学习记录-String和StringBuilder
Java学习记录-String和StringBuilder 一、String拼接字符串的缺点 用String对字符串进行拼接,每一次拼接都会构建一个新的String对象,既浪费时间又浪费空间。 而利用StringBuilder就可以很好地解决这个问题,StringBuilder里的内容是可变的 二、StringBuilder 构造方法: 无参构造:创建空的StringBuilder 传入String类型:创建一个StringBuilder对象冰赋值为传入的值 利用另一个StringBuilder进行赋值 示例: 12345StringBuilder sc=new StringBuilder();//创建空白的StringBuilderStringBuilder sd=new StringBuilder("Hello Java");//创建内容为 Hello Java 的StringBuilder 拼接与反转 拼接函数:.append(欲拼接的内容); ...
Java学习记录-随机数
Java学习记录-随机数 一、导包 import java.util.Random; 二、创建对象 Random x=new Random(); 三、获取数据 int a=x.nextInt(100)+1; 注意:这里的括号内表示的是数据范围。从0到括号内的数,区间左闭右开,即[0,100)。加一则是整个区间加一,即[1,101) 示例: 1234567891011121314import java.util.Random;public class random { public static void main(String[] arg){ Random x=new Random(); while(true){ int a=x.nextInt(100)+1; System.out.println(a); }//不断输入1到100之间的随机数 }}
Java学习记录-输入
Java学习记录-输入 输入数据的步骤: 一、导包 import java.util.Scanner 二、创建对象 Scanner 对象名=new Scanner(System.in); 三、接受数据 int 变量名=对象名.nextInt(); 示例代码: 1234567891011121314import java.util.Scanner;//导包public class HelloWorld{ public static void main(String[] arg){ Scanner x=new Scanner(System.in);//创建对象 System.out.print("请输入数字:"); int a=x.nextInt();//接受数据 System.out.println("您输入的数字是:"+a); }}
C++学习记录算法篇:深度优先搜索1-n的全排列
C++学习记录算法篇:深度优先搜索1-n的全排列 深度优先搜索的核心思想是**“不撞南墙不回头”,即对每一个路径进行深入直到不能深入为止**,之后再退回上一步,继续尝试新的路径,直到把每一条路径都尝试一遍。 核心代码如下: 1234567891011121314void dfs(int step){ 判断边界//判断边界,step是否已经到最后一步,是的话返回 //尝试每一种可能 for(int i=1;i<=n;i++) { //尝试 dfs(step+1);//继续下一步,这是一个递归的过程 } return;//返回} 案例:求n的全排列: 这里通过将手上标有1~n的牌放到n个箱子里,来模拟全排列的过程,代码如下: 12345678910111213141516171819202122232425262728293031323334353637383940414243#include<iostream>using...
C++学习记录-STL-stack
C++学习记录-STL-stack stack即栈,是一种后进先出的数据结构 二、栈容器的声明 1.stack stk; 1stack<int> stk; 2.拷贝构造:stack(const stack &stk) 1stack stk2(stk); 三、数据的存取 1.push(elem); 入栈 12stk.push(10);//向栈顶压入“10”这个数据 2.pop(); 出栈 12stk.pop();//将栈顶的数据出栈 3.top(); 返回栈顶的元素 12int a=stk.top();//获取栈顶的元素 四、栈的大小操作 1.判断栈是否为空 :名称.empty(); //返回布尔值 12bool a=stk.empty();//判断栈是否为空 2.获取栈的大小: 名称.size(); 12int a=stk.size();//获取栈的大小 **注意:**栈不允许遍历元素!
C++学习记录-STL-Deque
C++学习记录-STL-Deque Deque是一个比vector更加特殊的容器,是一个双端数组。它支持从前面插入删除数据(头插头删),也支持从尾部插入删除数据(尾插尾删)。 deque内部有一个中控器,维护每一段缓冲区的地址(类似于链表的结构),缓冲区内存放真实的数据。使得使用deque看起来像是连续的空间。 二、deque的操作 对deque的操作与vector大体相似,但有几点区别: deque没有容量的说法,因此没有.capacity()的操作 头插操作:.push_front();头删操作:.pop_front();
C++学习记录-STL-string
C++学习记录-STL-string 一、string构造函数 string() :创建一个空字符串 1string str; string(const char *s) 12char arr[10] = "abcdegjki" ;string a(arr); string(const string& str) 12string a;string b(a); string(int n,char c) 1string c(10, 'a');//创建一个字符串,内容为aaaaaaaaaa 二、赋值操作 除了 =之外,还有assign() string& assign(const char *s) //把字符串s赋给当前字符串 123char arr[10] = "abcdegjki" ;string astr;astr.assign(arr); string& assign(const char *s,int n)...
C++学习记录-STL1-STL初识
C++学习记录-STL1-STL初识 一、STL基本概念 STL(Standard Template Library),标准模块库 STL从广义上分为:容器,算法,迭代器 容器和算法之间通过迭代器进行无缝连接 STL几乎所有的代码都采用了模板类或模板函数 二、STL六大组件 六大组件:容器、算法、迭代器、仿函数、适配器、空间配置器 容器:各种常用的数据结构 算法:各种常用的算法 迭代器:算法与容器之间的胶合剂 仿函数:类似于函数,可作为算法的某种策略 适配器:用于修饰容器或仿函数或迭代器接口 空间配置器:负责空间的配置和管理 三、迭代器 迭代器提供一种方法,可以依序寻访某个容器中的各个元素,而又不暴露容器内部的表示方式。 每个容器都有自己专属的迭代器
C#学习记录-枚举类型
Unity学习记录4-枚举类型 一、枚举类型 一种给数字命名的方式 二、创建一个枚举类型 示例代码: 声明枚举类型: 1234567public enum state{ Singing=1, Junmping=2, Rapping=3, Basketballing=4,} 指定枚举的数字数据类型: 1234567public enum hatNum : long{ common = 0, christmas = 1, cow = 2, block = 3} 创建枚举类型变量: 1public state cstate=state.Rapping; 三、枚举的简单应用 转化为整数 1int a = (int)hatNum.cow; 转化为字符串 1string b = hatNum.cow.ToString(); GetName方法:检索指定枚举中常数名称的数组 1string hatName = System.Enum.GetName(typeof(hatNum),...






