冒泡排序
有一组杂乱的数据,要求从小到大进行排序,这时候我们可以从下标为0的元素开始,相邻两两进行比对,如果前一个元素比后一个元素大则将前一个元素和后一个元素交换值,经过第一轮比对后,我们可以知道最后一个元素一定是数组中最大的值,接下来再比对前n-1个元素,以此类推每次都会得到一个最大值,最后数组就从小到大进行排序了。
` for(int i = 0; i < num.Length-1; i++) { for(int j = 0; j < num.Length - 1 - i;j++) { if(num[j] > num[j + 1]) { int temp=num[j]; num[j]=num[j + 1]; num[j+1]=temp; } } } Console.WriteLine(num);
`
2. 使用Array.Sort(数组名)对数组进行排序
` int[] num = { 2, 3, 4, 5, 6, 7, 4 }; Array.Sort(num); Console.WriteLine(num);
`
赋值
int[] num = { 2, 3, 4, 5, 6, 7, 4 };
char[] z = { 'a', 'b' };//赋值
char[]b=Console.ReadLine().ToCharArray();//输入字符
char[] d = new char[10];//字符长度
char[] a = "wall".ToCharArray();//赋值
函数的定义
封装一段可执行的代码块
函数的结构
static void getBag(string str) { Console.WriteLine(str); return; }
函数调用
形式参数
dfd就是初始值
递归函数
递归函数的理解
递归就是,函数中调用自己,这样就会进入一直调用自己的套娃行为,所以递归一般会有一个出口,这个出口的目的就是停止调用自己
递归的简单写法举例
`
//素数
//int num=Convert.ToInt32(Console.ReadLine());
static bool isPrime(int num)
{
for(int i = 2; i < num; i++)
{
if (num % i == 0) return false;
}
return true;
}
static int getRevere(int num)
{
string strNum=Convert.ToString(num); //把num转为string
string strNum2= ""; //strNum2为空
for (int i=strNum.Length;i>=0;i--)
{
strNum2+=strNum[i];
}
return Convert.ToInt32(strNum2);//返回值转为INT类型
}
string str = Console.ReadLine();
string[] strArray = str.Split(" "); //创建一个string类型的数组strArray把str一个个拆到strArray
int M = Convert.ToInt32(strArray[0]);
int N=Convert.ToInt32(strArray[1]); //0位转为m 1位转为n
string strOut = "";
for (int i=M;i<=N;i++)
{
if (isPrime(i)&&isPrime(getRevere(i)))
{
if (strOut=="")
{
strOut += i;
}
else
{
strOut += "," + i;
}
}
}
Console.WriteLine(strOut);
/* static int getNum(int num)
{
return getNum(num);
}
getNum(10);
*/
/* Console.WriteLine("sru");
static int Fib(int n)
{
if (n == 1||n==2)return 1;
return Fib(n-1)+Fib(n-2);
}
int num = Convert.ToInt32(Console.ReadLine());
for (int i=1;i<num+1;i++)
{
Console.WriteLine(Fib(i)+" ");//加上一个空格
}
*/
/* static int getFk(int k) { if (k == 1) return 1; return getFk(k - 1) + k * k; } int i = 1; while (true) { if (getFk(i) >= 2000) break; i++;
}
Console.WriteLine(i - 1);
*/
/* static int getP(int days) { if (days==10) return 1;
return (getP(days+1)+1)*2;
}
for (int i=1;i<11;i++)
{
Console.WriteLine("第{0}几天的桃子数:{1}",i,getP(i));
}
Console.WriteLine(getP(2));*/
//求因子
/* int num = Convert.ToInt32(Console.ReadLine());
getDivisor(num);
static void getDivisor(int num)
{
int[] b=new int[10] ;
for(int i = 1; i <= num; i++)
{
if (num % i == 0)
{
Console.WriteLine(i);
}
}
Console.WriteLine(b);
}*/
//求篮球数 /* string str=Console.ReadLine(); int[] numArray = new int[7]; for(int i = 0; i < str.Length; i++) { if (str[i] == 'a') { numArray[0] += 1;
}else if (str[i] == 'b')
{
numArray[1]++;
}else if (str[i]=='e'){
numArray[2]++;
}
else if (str[i] == 'k')
{
numArray[3]++;
}
else if (str[i] == 'l')
{
numArray[4]++;
}
else if (str[i] == 's')
{
numArray[5]++;
}
else if (str[i] == 't')
{
numArray[6]++;
}
}
numArray[0] /= 2;
numArray[1] /= 2;
numArray[4]/= 2;
*/
`