递归算法和选择排序
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
int[] mmm = new int[] { 1, 23, 4, 5, 6, 677, 65, 67 };
List<int> mmn = mmm.ToList();
SortGet(mmn);
sunList(mmn);
getrec(1680, 640);
Console.WriteLine(result);
}
static double result = 0;
static int SumResult = 0;
static void getrec(double length , double width)
{
Console.WriteLine("递归计算正方形一次");
if (length > width)
{
Console.WriteLine("得到一个正方形边长为:"+ width);
getrec(width, length - width);
}
else if (length < width)
{
Console.WriteLine("得到一个正方形边长为:" + length);
getrec(length, width - length );
}
else
result = length;
}
static void sunList ( List<int > mm)
{
Console.WriteLine("递归计算和一次");
if (mm.Count>0)
{
SumResult = SumResult + mm[0];
mm.Remove(mm[0]);
sunList(mm);
}
else
Console.WriteLine("得到结果:"+SumResult);
;
}
//快速排序
static void SortGet(List<int> mm)
{
Console.WriteLine("快速排序一次");
if (mm.Count < 1)
return;
else
{
int tt = mm[0];
List<int> maxList = new List<int>();
List<int> minList = new List<int>();
foreach (var i in mm)
{
if (i > tt)
maxList.Add(i);
else if (i < tt)
minList.Add(i);
}
SortGet(minList);
Console.WriteLine(tt);
SortGet(maxList);
}
}
}
}
结果