数组和冒泡排序
冒泡排序:让数组中的数据从小到大排序,先进行两两比较(第i个元素和第i+1个元素进行比较)进行n(i-1)次两两对比。
从大到小排序。
10,20,30,40,50,60,70 原始数据
20,30,40,50,60,70,10 第一次排序,比较6次
30,40,50,60,70,20,10第二次排序 ,比较5次
40,50,60,70,30,20,10第三次排序,比较4次
50,60,70,40,30,20,10第四次排序,比较3次
60,70,50,40,30,20,10第五次排序,比较2次
70,60,50,40,30,20,10第六次排序,比较1次
N个数需要比较N-1次
第t次排序比较的次数为n-t次
从大到小里面写小于号 <
for(int i=0;i<name.length-1;i++)
{
for(int j=0;j<name.length-1-i;j++)
{
进行比较,从大到小用<号
}
}
int[] score = { 18, 20, 48, 76, 20, 38, 87, 90, 37, 45, 65, 65, 34, 67, 95 }; for (int i = 0; i < score.Length - 1; i++) { for (int j = 0; j < score.Length - 1 - i; j++) { if (score[j] > score[j + 1]) { int temp = score[j]; score[j] = score[j + 1]; score[j + 1] = temp; } } } for (int i = 0; i < score.Length; i++) { Console.WriteLine(score[i]); } Console.ReadKey();
方法,一般用于重复使用的代码写成一个方法。
定义方法的语法
有static 就叫做静态方法
Public【访问修饰符】【static】【返回值类型】【方法名】(参数)
{方法体}
return 可以立即退出方法。方法名一般要大写,参数名一般要小写
注意:1)一般情况下,方法一般要定义在类中
2)没有返回值一般写 vod
3)方法后面必须有();
static void Main(string[] args) { Showui(); Console.ReadKey(); } public static void Showui() { Console.WriteLine("################"); Console.WriteLine("######欢迎######"); Console.WriteLine("################"); }
调用方法, 一般是 类.方法名();
参数
在一个方法中访问另外一个方法,就需要用到参数
如Convert.ToInt32(string)
里面的string就像是参数。
(int number) 形参
(30)实参
字符串转换
string s=“123”;
int a=int.Parse(s);
返回值 return a+b;
比如Convert.ToInt 32(string);
static void Main(string[] args) { int a = int.Parse(Console.ReadLine()); int b = int.Parse(Console.ReadLine()); int sum = add(a, b); Console.WriteLine(sum); Console.ReadKey(); } public static int add(int a,int b) { return a + b; }
//判断是否闰年 int year = Convert.ToInt32(Console.ReadLine()); bool result = leapyear(year); if (result) { Console.WriteLine("闰年"); } else { Console.WriteLine("不是闰年"); } Console.ReadKey(); } public static bool leapyear (int year) { if (year % 400 == 0 || year % 4 == 0 && year % 100 != 0) { return true; } else { return false ; } }
方法的重载。outref
比如Console.WriteLine() 这个方法本身能接int,string,double,char等不同类型的数据,就是用了方法的重载。
out 一般用在函数需要有多个返回值的场所,用于传出值
Ref可以理解成诗双向的,即可以传入,又可以传出。
static void Main(string[] args) { //学习使用out 和ref string s = "123"; int re; if (IntTryParse(s, out re)) { Console.WriteLine("转换成功!" + re); } else { Console.WriteLine("转换失败"); } Console.ReadKey(); } static bool IntTryParse(string s, out int result) { result = 0; try { result = Convert.ToInt32(s); return true; } catch { return false; } }