一个循环实现冒泡法排序(并没有什么卵用)

冒泡法时间复杂度为O(n^2) 这个是改不了的 不可能因为用一个循环实现,就变成了O(N)。。。 所以,并没有什么卵用,只是一种写代码的方式而已。。。

//Swap 用宏实现#define Swap(a,b,c) ((c)=(a),(a)=(b),(b)=(c))//第一种方式,,,,最简单的void BubbleSortOneLoop(int ar[], int n){int i = 0;int l = 0;while (i < n – 1)//i还是控制最外层{if (ar[l] > ar[l +1]){int temp = 0;Swap(ar[l], ar[l + 1], temp);}l++;if (l >=n – i-1)//只不过在特殊点的时候改变l和i{l = 0;i++;}} }//第二种void BubbleSortOneLoop2(int ar[], int n){int i = 0;int l = 0;while (i<n*n-1)//大次数为n*n-1,%n实现下标循环{if (ar[l%n] > ar[l%n + 1] && l%n<n-1-(i/n))//直接判断{int temp = 0;Swap(ar[l%n], ar[l%n + 1], temp);}l++; i++;}}

往往教导我们大家要好好学习天天向上,要永不言弃坚持到底百折不挠宁死不屈,

一个循环实现冒泡法排序(并没有什么卵用)

相关文章:

你感兴趣的文章:

标签云: