博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C/JS_实现冒泡排序
阅读量:5249 次
发布时间:2019-06-14

本文共 1799 字,大约阅读时间需要 5 分钟。

  冒泡排序算法的运作如下:(从后往前)

  1. 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
  2. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
  3. 针对所有的元素重复以上的步骤,除了最后一个。
  4. 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

JavaScript实现

1 var arr = prompt("请输入一个数组(以“,”隔开):").split(",").map(function(data){ 2     return +data;}); 3 console.log("输入的数组是:"+arr); 4  5 function fun(arr){ 6     var i,j,temp; 7     for(i = 0; i < arr.length; i++){ 8         for(j = 0; j < arr.length-1-i; j++){ //注意:j < arr.length-1-i;这里是减i。 9             if(arr[j] > arr[j+1]){10                 temp = arr[j];11                 arr[j] = arr [j+1];12                 arr[j+1] = temp;13             }14         }15     }16     return arr;17 }18 19 console.log("排序后的数组是: "+fun(arr));

  优化:

1 var arr = prompt("请输入一个数组(以“,”隔开):").split(",").map(function(data){ 2     return +data;}); 3 console.log("输入的数组是:"+arr); 4  5 function fun(arr){ 6     var i,j,temp,flag=0;//这里 7     for(i = 0; i < arr.length; i++){ 8         for(j = 0; j < arr.length-1-i; j++){ //注意:j < arr.length-1-i;这里是减i。 9             if(arr[j] > arr[j+1]){10                 flag=1;//这里11                 temp = arr[j];12                 arr[j] = arr [j+1];13                 arr[j+1] = temp;14             }15         }16         if(flag==0)break;//这里17     }18     return arr;19 }20 21 console.log("排序后的数组是: "+fun(arr));

  C语言

1 #include 
2 void fun(int *arr,int size) 3 { 4 int i, j, temp; 5 for(i=0; i
arr[j+1])10 {11 temp = arr[j];12 arr[j] = arr[j+1];13 arr[j+1] = temp;14 }15 }16 }17 }18 19 int main()20 {21 int arr[] = {
4,3,5,6,1,2,10,9,8}, i, size;22 size = sizeof(arr)/sizeof(arr[0]);23 fun(arr,size);24 for(i=0; i

 

转载于:https://www.cnblogs.com/LinSL/p/7339490.html

你可能感兴趣的文章
使用AVCaptureSession捕捉静态图片
查看>>
bugku web 头等舱
查看>>
Convert.ToInt32、int.Parse(Int32.Parse)、int.TryParse三者之间的区别
查看>>
算法之【仿竖式算法】
查看>>
java string
查看>>
验证组件FluentValidation的使用示例
查看>>
0320-学习进度条
查看>>
JAVA跨域CORS
查看>>
正确的在循环list的时候删除list里面的元素
查看>>
ERP渠道文档详细和修改(二十五)
查看>>
C#正则Groups高级使用方法
查看>>
ecshop安装常见问题及解决办法
查看>>
解决windows系统的oracle数据库不能启动ora-00119和ora-00130的问题
查看>>
ip相关问题解答
查看>>
第九周作业
查看>>
Postman—添加断言和检查点
查看>>
网络文件下载
查看>>
Mixing Milk
查看>>
iOS下移除按钮原生样式
查看>>
如何保存图片
查看>>