20、算法的复杂度
摘要:算法复杂度分为时间复杂度和空间复杂度。其作用: 时间复杂度是度量算法执行的时间长短;而空间复杂度是度量算法所需存储空间的大小。 时间复杂度 时间复杂度描述一个算法对数据规模和执行时间之间的关系。 举个简单的例子,要从0加到n,我们会这么写:int sum = 0;for(int i = 0; i<=
阅读全文
19、lambda表达式树
摘要:一、定义: 表达式树又称为表达式目录树,以数据形式表示语言级代码。所有的数据都存储在树结构中,每个结点表示一个表达式(Expression)。 二、要点: –Lambda表达式的参数类型可以忽略,因为可以根据使用的上下文进行推断。 –Lambda表达式的主体(body)可以是表达式,也可以是语句块。
阅读全文
18、(番外)匿名方法+lambda表达式
摘要:概念了解: 1、什么是匿名委托(匿名方法的简单介绍、为什么要用匿名方法) 2、匿名方法的【拉姆达表达式】方法定义 3、匿名方法的调用(匿名方法的参数传递、使用过程中需要注意什么) 什么是匿名方法? 匿名方法是C#2.0引入的一个新特性,它允许开发者声明自己的函数代码而无须使用委托函数。 C#为委托提
阅读全文
17、(番外)扩展方法
摘要:扩展方法的要求: 1、必须把扩展方法定义在静态类中 2、每一个扩展方法必须声明为静态的 3、要用 this 关键字对第一个参数进行修饰(即需要扩展的类型) 例: 1)先定义一个静态类和它的扩展方法: public static class extension { //定义扩展方法 public st
阅读全文
16、(番外)关于递归的再次整理
摘要:之前还是too young too simple了,没把递归弄明白。直到面试官问了我这么个问题:int digui(int a){ return digui(a-1)+digui(a-2);}这样代码的编写方式对吗?如果是大神级的应该一眼就能说出来了,但是,我经过两个月类似设计师的训练后,全!忘!...
阅读全文
15、C#基础整理(递归)
摘要:带输出参数的函数输入参数相当于函数而言,相当于已经赋值了的变量,直接可用输出参数相当于定义一个没有值的变量,在函数中进行赋值,然后调用函数的时候将赋值带出函数例:public void shuchu(int a, out int b){ b = a + 10; //b必须赋值}主函数里面的写法:...
阅读全文
14、C#基础整理(函数)
摘要:函数1、概念:是一个带有输入参数、输出参数、返回值的代码块。2、写法:修饰符 返回值类型 函数名(输入参数,输入参数){ 方法段 return 返回值;}3、注释:(1)输入参数格式:参数类型+变量名。可以不写(2)返回值类型---void为无返回值,函数体里面不能写return(3)“///”...
阅读全文
13、C#基础整理(枚举)
摘要:枚举1、概念和作用(1)用于存放常量,只能在定义时赋值(防止编程过程中恶意篡改,并且防止对同一事物的不同赋值--统一化)(2)定义的枚举类型需要包含该类型的所有可能的值(3)方法、类、内部都可以定义,一般和类定义在同一个级别,这样所有类都可以用这个枚举了2、定义:enum 类型名称{值1,值2,值3...
阅读全文
12、C#基础整理(结构体)
摘要:结构体1、概念:结构体是写在main函数外的数据结构,由不同类型的数据组合成一个整体,这些组合在一个整体中的数据是互相联系的2、声明方式:struct 结构体名{成员变量(由类型名+成员名组成)}例:public struct student//public是修饰符,可以不加,作用范围为整个命名空间...
阅读全文
11、C#基础整理(特殊集合和哈希表)
摘要:特殊集合:队列、栈一、栈Stack类:先进后出,没有索引Stack ss = new Stack();1、增加数据:push :将元素推入集合ss.Push(3);ss.Push(5);ss.Push(7);2、获取数据:(1)peek返回位于stack顶部的对象但不移除(获取最后一个进入的元素的值...
阅读全文
10、C#基础整理(集合)
摘要:集合1、集合的引用using System.Collections;//添加类2、定义集合(ArrayList 或 Array)ArrayList arr = new ArrayList();3、添加数据(可以放多种不同数据类型,但最好只放一种)(一)单个数据方法1:add增加arr.Add(3);...
阅读全文
9、C#基础整理(多维数组)
摘要:多维数组1、二维数组:表示方法:int[y,x],x、y是索引,y代表行,x代表列。例:int[,] second = new int[2, 3]{{3,2,5},{6,7,8}};//{}可以不写修改方法:second[0, 1] = 3;//表示将第0行第1列的数字改为3练习:用二维数组进行冒泡...
阅读全文
8、C#基础整理(数组和冒泡排序)
摘要:数组概念:定义一组同类型的指定个数的变量,索引从0开始例:int[] shuname = new int[10];//定义一组有10个数据的数组shuname[0] = 1;Console.WriteLine(shuname[0]);//打印出1数组与for循环结合的练习:1、彩票问题:通过数组录入...
阅读全文
7、C#基础整理(类)
摘要:String类概念:是一个class类型的类,里面包含许多处理字符串的方法和属性1、length方法。 例:string s = "hello";Console.WriteLine("s的长度为{0}",s.Length);//获取字符串长度,返回int值2、Trim & ToUpper方法。例:s...
阅读全文
6、C#基础整理(for 语句经典习题--for循环嵌套、穷举)
摘要:1、for循环嵌套----最基础题目:求阶乘的和 int sum = 0; int n = int.Parse(Console.ReadLine()); for (int i = 0; i 1; n--) 9 {10 Cons...
阅读全文
5、C#基础整理(for 语句经典习题--与 if 的嵌套)
摘要:1、for循环最基本运用:小球每次落地后再弹起是以前的4/5,求第5次弹起后的高度for (int i = 0; i sum2) Console.WriteLine("你赢了");else if (sum2>sum1) Console.WriteLine("电脑赢了");else ...
阅读全文
4、C#基础整理(if语句经典习题)
摘要:1、用 if 判断输入的是否是空格键的方法:(Console.ReadKey()的用法)ConsoleKeyInfo readkey = Console.ReadKey();Console.WriteLine(readkey.Key.ToString());if (readkey.ToString(...
阅读全文
3、C#基础整理(语句概述)
摘要:语句语句分为四个大类: * 分支语句:if,if... else,if ...else if... else,switch case * 循环语句:for,while,do while,foreach * 跳转语句:break,continue ...
阅读全文
2、C#基础整理(运算符、数据类型与转换、var关键字)
摘要:·运算符 数学运算符:+ - * / % 比较运算符:< > = <= >= != 返回bool值 逻辑运算符:&&并且、||或者,两者运行顺序无先后 逻辑非"!": 只作用于紧跟的代码,数学运算符(在有括号的情况下成立)<优先级<比较运算符 运算顺序:"(* / %)">"(+ -)", 逻辑运算
阅读全文
1、C#基础整理(进制转换的方法)
摘要:进制二进制转换为十进制(展权相加法)110101 =1*2^5+1*2^4+0*2^3+1*2^2+0*2^1+1*2^01、 写22、 标指数(从右到左)3、 乘系数(一一对应)4、 相加十进制转二进制(除权取余)除2到商零为止,从下到上取余数简单法:……8421十六进制的表达0123456789...
阅读全文