//文件中的数据格式为 // 1 2 3 4 5 // 1 2 3 5 6 using System; using System.Text; using System.Collections; using System.IO; namespace InsertSort { class Program { static void Main() { string path=@"F://test.txt"; StreamReader sr = new StreamReader(path, Encoding.Default); string temp; ArrayList aL = new ArrayList(); while ((temp = sr.ReadLine()) != null) { string[] s = temp.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);//根据空格区分数据 int tempInt; foreach (string i in s) { tempInt = Convert.ToInt32(i); //string转换成int,基本数据类型的转换 aL.Add(tempInt); //将读取到的数据存入aL中 } } int[] data = new int[aL.Count]; //将aL中的数据存入data方便使用排序算法排序 for (int i = 0; i < aL.Count; i++) { data[i] = (int)aL[i]; } //直接插入排序算法 int curPosition = 1;//无序集中的第一个元素所在的位置 //string ss = DateTime.Now.Millisecond.ToString(); //Console.WriteLine(ss); while (curPosition < data.Length) { int temp2=data[curPosition]; for (int i = 0; i < curPosition; i++) { if (temp2 < data[i]) //将无序集中的第一个元素与有序集中的数据按顺序比较大小 { for (int j = curPosition; j > i; j--) //挪动元素 { data[j] = data[j - 1]; } data[i] = temp2; break; } } curPosition++; } //aL.Sort(); //string s1 = DateTime.Now.Millisecond.ToString(); //Console.WriteLine(s1); /*for (int i=0;i<data.Length; i++) { Console.WriteLine(data[i]); }*/ } } }