using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Threading; //用来包含sleep namespace 冒泡排序 { class Program { static void Main(string[] args) { int[] array=new int[10]; int exchange; for (int i=0;i<array.Length;i++) //length为10,为什么直接填10不行 { Random ran = new Random(); //默认种子是时间,不休息的话,等于默认种子是一个时间,故而长成一个随机数 array[i]=ran.Next(0,100); Thread.Sleep(30); } Console.Write("所生成的随机数列为:"); foreach (int x in array) Console.Write(" " + x); for (int i=0;i<9;i++) //相邻数字进行大小排序,极端情况为最大的数在最小的位置,这样相邻位置交换9次可以把它移动到应有的位置 { for (int k = 0; k < 9; k++) { if (array[k] >= array[k + 1]) { exchange = array[k]; array[k] = array[k + 1]; array[k + 1] = exchange; } } } Console.WriteLine(); Console.Write("排序后的数列为: "); foreach (int y in array ) Console .Write (" "+y); Console.Write("\n请输入索要查询的数字:"); int num = int.Parse(Console.ReadLine()); int begin = 0, end = 9,mid; bool abc=array.Contains(num); if (abc==false) Console.WriteLine("数列中不含有此数字"); //用了一回布尔型,还不太熟练 else while (true) { mid = (begin + end) / 2; if (array[mid] > num) end = mid; if (array[mid] < num) begin = mid; if (array[mid] == num) { Console.WriteLine("您所查找的数字在数列中的索引位置为" + mid); break; } } Console.ReadLine(); } } }
时间: 2024-10-11 13:25:20