这里有新鲜出炉的 Javascript 教程,程序狗速度看过来!
Javascript 是一种由 Netscape 的 LiveScript 发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如 Perl,遗留的速度问题,为客户提供更流畅的浏览效果。
本文通过实例代码给大家介绍了 js 冒泡排序和选择排序的实现代码,代码简单易懂,非常不错,具有参考借鉴价值,感兴趣的朋友一起学习吧
废话不多说了,直接给大家贴代码了,具体代码如下所述:
- var array = [1,2,3,4,5]; // ---> 服务
- //效率 ---> 针对一个有序的数组 效率最高
- //标志 true false
- for(var j = 0; j < array.length - 1;j++ ){
- //- j 每次排序完成之后 后面减少比较的次数
- var isTrue = true; //如果数组本身就是升序,则直接输出
- for(var i = 0; i < array.length - j - 1;i++){
- if(array[i] > array[i+1])
- {
- var temp = array[i];
- array[i] = array[i+1];
- array[i+1] = temp;
- isTrue = false;
- }
- }
- document.write(array);
- if(isTrue){
- break;
- }
- }
- var array = [12,34,4,6,20];
- //length - 1 j = 0 - length - 1
- for(var j = 0; j < array.length - 1;j++){
- var min = array[j]; // 1 3 34 4 345 5
- var minIndex = j;
- for(var i = j + 1; i < array.length;i++){
- if(array[i] < min){
- min = array[i];
- minIndex = i;
- }
- }
- if(minIndex != j){
- var temp = array[minIndex];
- array[minIndex] = array[j];
- array[j] = temp;
- }
- }
下面在看下 Javascript 实现三种排序:冒泡排序、选择排序、插入排序的代码
- <script type="text/javascript">
- var a;
- a = [66, 53, 11, 5, 4, 3, 2, 1];
- /*冒泡排序*/
- (function maopaopaixu() {
- for (var i = 0; i < a.length - 1; i++) {//比较的次数是length-1
- for (var j = 0; j < a.length - 1 - i; j++) {
- if (a[j] > a[j + 1]) {
- var tmp = a[j];
- a[j] = a[j + 1];
- a[j + 1] = tmp;
- }
- }
- }
- alert(a);
- })();
- a = [66, 53, 11, 5, 4, 3, 2, 1];
- /*选择排序*/
- (function xuanzepaixu() {
- var min/*最小项的索引*/, tmp;
- for (var out = 0; out < a.length - 1; out++) {//比较的次数是length-1
- min = out;
- for (var inner = out + 1; inner < a.length; inner++) {//这里是a.length,不是a.lenght-1,因为后者会导致右数第2项没法参与排序。
- if (a[inner] < a[min]) {
- min = inner;
- }
- //将最小的项移动到左侧
- tmp = a[out];
- a[out] = a[min]
- a[min] = tmp;
- }
- }
- alert(a);
- })();
- a = [66, 53, 11, 5, 4, 3, 2, 1];
- /*插入排序*/
- (function charupaixu() {
- for (var out = 1; out < a.length; out++) {
- var tmp = a[out];
- var inner = out;
- while (a[inner - 1] > tmp) {
- a[inner] = a[inner - 1];
- --inner;
- }
- a[inner] = tmp;
- }
- alert(a);
- })();
- </script>
以上所述是小编给大家介绍的 JavaScript 冒泡排序和选择排序的实现代码,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家!
来源: http://www.phperz.com/article/17/0511/332131.html