前言:
如今看官们对“n个数的排序与查”大致比较关注,我们都需要知道一些“n个数的排序与查”的相关知识。那么小编也在网摘上网罗了一些关于“n个数的排序与查””的相关资讯,希望同学们能喜欢,大家快快来了解一下吧!前言
我们常用的排序方法有十种,分别是:
冒泡排序;选择排序;插入排序;希尔排序;归并排序;快速排序;堆排序;计数排序;桶排序;基数排序。
今天讲下冒泡排序
一、冒泡排序原理
冒泡排序是排序算法中较为简单的一种,英文称为Bubble Sort。它遍历所有的数据,每次对相邻元素进行两两比较,如果顺序和预先规定的顺序不一致,则进行位置交换;这样一次遍历会将最大或最小的数据上浮到顶端,之后再重复同样的操作,直到所有的数据有序。
二、编程写法
int[] arr = { 1, 2, 4, 3, 28, 23, 12, 14, 99, 34, 55 };arr.ToList().ForEach(x => Console.Write(x + " "));for(int i = 0;i<arr.Length-1;i++){ Console.WriteLine(); Console.WriteLine("==========================================="); for (int k = arr.Length - 1; k > i; k--) { Console.Write($"第{arr.Length - k}次"); if (arr[k] < arr[k - 1]) { int temp = arr[k]; arr[k] = arr[k - 1]; arr[k - 1] = temp; } arr.ToList().ForEach(x => Console.Write(x + " ")); Console.WriteLine(); } Console.WriteLine("==========================================="); Console.Write($"第{i+1}轮:"); arr.ToList().ForEach(x => Console.Write(x + " "));}Console.WriteLine();arr.ToList().ForEach(x => Console.Write(x + " "));
打印结果
1 2 4 3 28 23 12 14 99 34 55===========================================第1次:1 2 4 3 28 23 12 14 99 34 55第2次:1 2 4 3 28 23 12 14 34 99 55第3次:1 2 4 3 28 23 12 14 34 99 55第4次:1 2 4 3 28 23 12 14 34 99 55第5次:1 2 4 3 28 12 23 14 34 99 55第6次:1 2 4 3 12 28 23 14 34 99 55第7次:1 2 4 3 12 28 23 14 34 99 55第8次:1 2 3 4 12 28 23 14 34 99 55第9次:1 2 3 4 12 28 23 14 34 99 55第10次:1 2 3 4 12 28 23 14 34 99 55===========================================第1轮:1 2 3 4 12 28 23 14 34 99 55===========================================第1次:1 2 3 4 12 28 23 14 34 55 99第2次:1 2 3 4 12 28 23 14 34 55 99第3次:1 2 3 4 12 28 23 14 34 55 99第4次:1 2 3 4 12 28 14 23 34 55 99第5次:1 2 3 4 12 14 28 23 34 55 99第6次:1 2 3 4 12 14 28 23 34 55 99第7次:1 2 3 4 12 14 28 23 34 55 99第8次:1 2 3 4 12 14 28 23 34 55 99第9次:1 2 3 4 12 14 28 23 34 55 99===========================================第2轮:1 2 3 4 12 14 28 23 34 55 99===========================================第1次:1 2 3 4 12 14 28 23 34 55 99第2次:1 2 3 4 12 14 28 23 34 55 99第3次:1 2 3 4 12 14 28 23 34 55 99第4次:1 2 3 4 12 14 23 28 34 55 99第5次:1 2 3 4 12 14 23 28 34 55 99第6次:1 2 3 4 12 14 23 28 34 55 99第7次:1 2 3 4 12 14 23 28 34 55 99第8次:1 2 3 4 12 14 23 28 34 55 99===========================================第3轮:1 2 3 4 12 14 23 28 34 55 99===========================================第1次:1 2 3 4 12 14 23 28 34 55 99第2次:1 2 3 4 12 14 23 28 34 55 99第3次:1 2 3 4 12 14 23 28 34 55 99第4次:1 2 3 4 12 14 23 28 34 55 99第5次:1 2 3 4 12 14 23 28 34 55 99第6次:1 2 3 4 12 14 23 28 34 55 99第7次:1 2 3 4 12 14 23 28 34 55 99===========================================第4轮:1 2 3 4 12 14 23 28 34 55 99===========================================第1次:1 2 3 4 12 14 23 28 34 55 99第2次:1 2 3 4 12 14 23 28 34 55 99第3次:1 2 3 4 12 14 23 28 34 55 99第4次:1 2 3 4 12 14 23 28 34 55 99第5次:1 2 3 4 12 14 23 28 34 55 99第6次:1 2 3 4 12 14 23 28 34 55 99===========================================第5轮:1 2 3 4 12 14 23 28 34 55 99===========================================第1次:1 2 3 4 12 14 23 28 34 55 99第2次:1 2 3 4 12 14 23 28 34 55 99第3次:1 2 3 4 12 14 23 28 34 55 99第4次:1 2 3 4 12 14 23 28 34 55 99第5次:1 2 3 4 12 14 23 28 34 55 99===========================================第6轮:1 2 3 4 12 14 23 28 34 55 99===========================================第1次:1 2 3 4 12 14 23 28 34 55 99第2次:1 2 3 4 12 14 23 28 34 55 99第3次:1 2 3 4 12 14 23 28 34 55 99第4次:1 2 3 4 12 14 23 28 34 55 99===========================================第7轮:1 2 3 4 12 14 23 28 34 55 99===========================================第1次:1 2 3 4 12 14 23 28 34 55 99第2次:1 2 3 4 12 14 23 28 34 55 99第3次:1 2 3 4 12 14 23 28 34 55 99===========================================第8轮:1 2 3 4 12 14 23 28 34 55 99===========================================第1次:1 2 3 4 12 14 23 28 34 55 99第2次:1 2 3 4 12 14 23 28 34 55 99===========================================第9轮:1 2 3 4 12 14 23 28 34 55 99===========================================第1次:1 2 3 4 12 14 23 28 34 55 99===========================================第10轮:1 2 3 4 12 14 23 28 34 55 991 2 3 4 12 14 23 28 34 55 99总结
总轮数需要n-1轮
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #n个数的排序与查