classProgram {Static voidMain (string[] args) { varArray =New[] { One,3, -,5,0,2,4,6, -1,101,101,5 }; //Suppose that a minimum value varMinnum = array[0]; for(inti =0; I < array. Length; i++) { if(Array[i] <minnum) {Minnum=Array[i]; } } //Suppose that a maximum value varMaxnum = array[0]; for(inti =0; I < array. Length; i++) { if(Array[i] >maxnum) {Maxnum=Array[i]; }} Console.WriteLine ("Min:"+minnum); Console.WriteLine ("Max:"+maxnum); Console.WriteLine ("======= Bubble Sort ========"); for(inti =0; I < array. Length; i++) { for(intj =0; J < Array. Length-i-1; J + +) { vartemp =0; if(Array[j] > array[j +1]) {temp=Array[j]; ARRAY[J]= Array[j +1]; Array[j+1] =temp; } } } //Bubble Sort Algorithm for(inti =0; I < array. Length; i++) {Console.Write (Array[i]+" "); } Console.WriteLine ("\r\n======= Quick Sort ========"); //Fast Sorting algorithm varList =Newlist<int> { One,3, -,5,0,2,4,6, -1,101,101,5 }; QuickSort (list,0, List. Count); foreach(varIteminchlist) {Console.Write (item+" "); } //two cross-tree sortingConsole.ReadLine (); } /// <summary> ///Quick Sort/// </summary> /// <param name= "Nums" >Collection</param> /// <param name= "left" >Start</param> /// <param name= "right" >Total</param> Private Static voidQuickSort (list<int> Nums,intLeftintRight ) { if(Left <Right ) { inti =Left ; intj = Right-1; intMiddle = nums[(left + right)/2]; while(true) { while(I < right && Nums[i] <middle) {i++; } while(J >0&& Nums[j] >middle) {J--; } if(i = = j) Break; Nums[i]= Nums[i] +Nums[j]; NUMS[J]= Nums[i]-Nums[j]; Nums[i]= Nums[i]-Nums[j]; if(Nums[i] = = Nums[j]) j--; } QuickSort (Nums, left, i); QuickSort (nums, I+1, right); } } }
C # sorting algorithm records