class Program
{
static void Main(string[] args)
{
int length = 10;
Console.WriteLine("倒三角:");
for (int i = 0; i < length; i++)
{
for (int j = length; i < j; j--)
{
Console.Write("*");
}
Console.WriteLine();
}
System.Threading.Thread.Sleep(2000);
Console.WriteLine("倒金字塔:");
for (int i = length; i >= 0 ; i--)
{
for (int m = length - i; m > 0; m--)
{
Console.Write(" ");
}
for (int j = 0; j < (i * 2 )+1; j++)
{
Console.Write("*");
}
Console.WriteLine();
}
System.Threading.Thread.Sleep(2000);
Console.WriteLine("正三角:");
for (int i = 0; i < length; i++)
{
for (int j = 0; j < i; j++)
{
Console.Write("*");
}
Console.WriteLine();
}
System.Threading.Thread.Sleep(2000);
Console.WriteLine("金字塔:");
for (int i = 0; i < length; i++)
{
for (int m = length - i; m > 0; m--)
{
Console.Write(" ");
}
for (int j = 0; j < ( i * 2 ) + 1; j++)
{
Console.Write("*");
}
Console.WriteLine();
}
System.Threading.Thread.Sleep(2000);
Console.WriteLine("金字塔△:");
for (int i = 0; i < length; i++)
{
for (int m = length - i; m > 0; m--)
{
Console.Write(" ");
}
for (int j = 0; j < i; j++)
{
Console.Write("△");
}
Console.WriteLine();
}
System.Threading.Thread.Sleep(2000);
Console.WriteLine("金字塔-:");
for (int i = 0; i < length; i++)
{
for (int m = length - i; m > 0; m--)
{
Console.Write(" ");
}
for (int j = 0; j < (i * 2) + 1; j++)
{
Console.Write("-");
}
Console.WriteLine();
}
System.Threading.Thread.Sleep(2000);
Console.WriteLine("排序前:");
int[] arr = { 5, 66, 24, 22, 19, 11, 18, 21, 56, 77, 12, 66, 45 };
for (int i = 0; i < arr.Length; i++)
{
Console.WriteLine(arr[i]);
}
quick_sort(ref arr, 0, arr.Length-1);
System.Threading.Thread.Sleep(2000);
Console.WriteLine("排序后:");
for (int i = 0; i < arr.Length; i++)
{
Console.WriteLine(arr[i]);
}
//降序
Array.Reverse(arr);
foreach (var b in arr)
{
Console.Write(b + " ");
}
}
public static void quick_sort(ref int[] s, int start, int end)
{
if (start < end)
{
int i = start, j = end, x = s[start];
while (i < j)
{
// 从右向左找第一个小于x的数
while (i < j && s[j] >= x)
j--;
if (i < j)
s[i++] = s[j];
// 从左向右找第一个大于等于x的数
while (i < j && s[i] < x)
i++;
if (i < j)
s[j--] = s[i];
}
s[i] = x;
// 递归调用
quick_sort(ref s, start, i - 1);
quick_sort(ref s, i + 1, end);
}
}
}
}