C# 基础
冒泡排序:缺点:交换次数过多
int[] num = { 3, 1, 43, 1, 4, 1 };
int temp = 0;
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])
{
temp = num[j];
num[j] = num[j + 1];
num[j + 1] = temp;
}
}
}
Console.Write(String.Join("-", num));
快排
int[] nums = new int[] { 4, 2, 1, 21, 5, 54 };
for (int i = 0; i < nums.Length - 1; i++)
{
int minNum = i;
for (int j = i + 1; j < nums.Length; j++)
{
if (nums[minNum] > nums[j])
{
minNum = j;
}
}
if (minNum != i)
{
int temp = nums[minNum];
nums[minNum] = nums[i];
nums[i] = temp;
}
}
Console.WriteLine(String.Join(",", nums));
练习一

Console.Write("请输入一组用空格隔开的数据:");
string str = Console.ReadLine();
string[] strArray = str.Split(" ");
int[] numArray = new int[strArray.Length];
for (int i = 0; i < strArray.Length; i++)
{
numArray[i] = Convert.ToInt32(strArray[i]);
}
Array.Sort(numArray);
Console.Write("请输入你要插入的值:");
int num = Convert.ToInt32(Console.ReadLine());
int numIndex = 0;
for (int i = 0; i < numArray.Length - 1; i++)
{
if (num >= numArray[i] && num <= numArray[i + 1])
{
numIndex = i + 1;
break;
}
}
if (num > numArray[numArray.Length - 1])
{
numIndex = numArray.Length;
}
int[] numArray2 = new int[numArray.Length + 1];
for (int i = 0; i < numIndex; i++)
{
numArray2[i] = numArray[i];
}
numArray2[numIndex] = num;
for (int i = numIndex + 1; i < numArray2.Length; i++)
{
numArray2[i] = numArray[i - 1];
}
Console.WriteLine(String.Join("-", numArray2));
练习二

Console.Write("请输入一个标识符:");
string str = Console.ReadLine();
Boolean isFlag = true;
for (int i = 0; i < str.Length; i++)
{
if (48 <= str[i] && str[i] <= 57 || 65 <= str[i] && str[i] <= 90 || 97 <= str[i] && str[i] <= 122 || str[i] == 95)
{
if (i == 0 && 48 <= str[i] && str[i] <= 57)
{
isFlag = false;
break;
}
}
}
Console.Write(isFlag ? "合法" : "不合法");
国庆练习
static void Main(string[] args)
{
Console.Write("请输入字符串:");
string str = Console.ReadLine();
int[] arr = new int[7];
foreach (int temp in str)
{
if (temp == 'b')
{
arr[0]++;
}
else if (temp == 'a')
{
arr[1]++;
}
else if (temp == 'l')
{
arr[2]++;
}
else if (temp == 's')
{
arr[3]++;
}
else if (temp == 'k')
{
arr[4]++;
}
else if (temp == 'e')
{
arr[5]++;
}
else if (temp == 't')
{
arr[6]++;
}
}
arr[0] /= 2;
arr[1] /= 2;
arr[2] /= 2;
int min = arr[0];
for (int i = 1; i < arr.Length; i++)
{
if (arr[i] < min)
{
min = arr[i];
}
}
Console.WriteLine("最多有{0}个 basketball", min);
}