前端基础算法【冒泡排序】——两种思路及详解
第一种简单的比较写法
<script> var nums = [-30,755,6,8,99,0]; //冒泡排序 for(var i =0;i<nums.length-1;i++){ //控制比较的轮数 for(var j=0;j<nums.length-1-i;j++){ //控制比较的次数 //用第三方变量交换值 if(nums[j]>nums[j+1]){ var temp = nums[j]; nums[j] = nums[j+1]; nums[j+1] = temp; } } } console.log(nums) </script>
解题思路:每一次都对比两个相邻数的大小,小的就排在前面,否则就交换位置
var nums = [-30,755,6,8,99,0];
第1次排序后:-30,755,6,8,99,0
第2次排序后:-30,6,755,8,99,0
第3次排序后:-30,6,8,755,99,0
第4次排序后:-30,6,8,99,755,0
第5次排序后:-30,6,8,99,0,755
第6次排序后:-30,6,8,99,0,755
第7次排序后:-30,6,8,99,0,755
第8次排序后:-30,6,8,99,0,755
第9次排序后:-30,6,8,0,99,755
第10次排序后:-30,6,8,0,99,755
第11次排序后:-30,6,8,0,99,755
第12次排序后:-30,6,0,8,99,755
第13次排序后:-30,6,0,8,99,755
第14次排序后:-30,0,6,8,99,755
第15次排序后:-30,0,6,8,99,755
↑ ↑
nums.length-1 nums.length-1-(5/4/3/2/1=== i)
第二种写法
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步