/// <summary> /// 冒泡排序 /// </summary> public static void BubbleSort() { int[] myArray = new int[] { 10, 8,3,8,13,56,88,56,10,5, 6, 7, 4, 6, 9 }; for (int k = 0; k < myArray.Length; k++) Console.Write("{0},",myArray[k]); Console.WriteLine(); // 取长度最长的词组 -- 冒泡法 for (int j = 1; j < myArray.Length; j++) { for (int i = 0; i < myArray.Length-1; i++) { // 如果 myArray[i] > myArray[i+1] ,则 myArray[i] 下沉一位 if (myArray[i] > myArray[i + 1]) { int temp = myArray[i]; myArray[i] = myArray[i + 1]; myArray[i + 1] = temp; } } } for (int k = 0; k < myArray.Length; k++) Console.Write("{0},", myArray[k]); Console.WriteLine();
//查询出相等的数 IList<int> Leaqul = new List<int>(); for (int i = 0; i < myArray.Length; i++) { for (int j = i + 1; j < myArray.Length; j++) { if (myArray[i] == myArray[j]) { Leaqul.Add(myArray[i]); } } }
for (int k = 0; k < Leaqul.Count; k++) Console.Write("{0},", Leaqul[k]); Console.ReadKey();
}
考虑时间复杂度,需要对其稍微改动;
/// <summary> /// 冒泡排序 /// </summary> public static void BubbleSort() {
int[] myArray = new int[] { 10, 8, 3, 8, 13, 56, 88, 56, 10, 5, 6, 7, 4, 6, 9 }; //查询出相等的数 IList<int> Leaqul = new List<int>(); for (int i = 0; i < myArray.Length; i++) { for (int j = i + 1; j < myArray.Length; j++) { if (myArray[i] == myArray[j]) { Leaqul.Add(myArray[i]); } } }
for (int k = 0; k < Leaqul.Count; k++) Console.Write("{0},", Leaqul[k]); Console.WriteLine();
for (int k = 0; k < myArray.Length; k++) Console.Write("{0},", myArray[k]); Console.WriteLine(); // 取长度最长的词组 -- 冒泡法 for (int j = 0; j < myArray.Length; j++) { for (int i = j+1; i < myArray.Length; i++) { // 如果 myArray[i] > myArray[i+1] ,则 myArray[i] 下沉一位 if (myArray[j] > myArray[i]) { int temp = myArray[j]; myArray[j] = myArray[i]; myArray[i] = temp; } } } for (int k = 0; k < myArray.Length; k++) Console.Write("{0},", myArray[k]); Console.WriteLine(); Console.ReadKey(); }