前端开发面试题—JavaScript冒泡排序

简介: 今天分享一下我遇到的一个关于JavaScript冒泡排序的面试题,题目是笔试题目,要求用JavaScript手写一个冒泡排序,倒序输出新的数组。其实难度不大,就是太久没手写代码在纸上了,感觉有点奇怪(¬_¬ )

 今天分享一下我遇到的一个关于JavaScript冒泡排序的面试题,题目是笔试题目,要求用JavaScript手写一个冒泡排序,倒序输出新的数组。其实难度不大,就是太久没手写代码在纸上了,感觉有点奇怪(¬_¬ )

什么是冒泡排序❓

  • 冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法
  • 它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行,直到没有相邻元素需要交换,也就是说该元素列已经排序完成。
  • 这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列,就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序”。

🍺冒泡排序的原理

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

image.gif

📚代码演示

  • 从大到小 倒序
vararray= [18,9,23,45,67,98,72,55,31]
for(leti=1;i<array.length;i++){
for(letj=0;j<array.length-i;j++){
if(array[j]<array[j+1]){
vartemp=array[j+1]
array[j+1] =array[j]
array[j] =temp        }
    }
}
console.log(array);
image.gif

image.gif

  • 从小到大 正序
vararray= [18,9,23,45,67,98,72,55,31]
for(leti=1;i<array.length;i++){
for(letj=0;j<array.length-i;j++){
if(array[j]>array[j+1]){
vartemp=array[j+1]
array[j+1] =array[j]
array[j] =temp        }
    }
}
console.log(array);
image.gif

image.gif

目录
相关文章
|
2月前
|
JavaScript 前端开发 API
Vue.js:现代前端开发的强大框架
【10月更文挑战第11天】Vue.js:现代前端开发的强大框架
70 41
|
16天前
|
资源调度 前端开发 JavaScript
vite3+vue3 实现前端部署加密混淆 javascript-obfuscator
【11月更文挑战第10天】本文介绍了在 Vite 3 + Vue 3 项目中使用 `javascript-obfuscator` 实现前端代码加密混淆的详细步骤,包括安装依赖、创建混淆脚本、修改 `package.json` 脚本命令、构建项目并执行混淆,以及在 HTML 文件中引用混淆后的文件。通过这些步骤,可以有效提高代码的安全性。
|
24天前
|
设计模式 前端开发 JavaScript
揭秘!前端大牛们如何巧妙利用JavaScript,打造智能交互体验!
【10月更文挑战第30天】前端开发领域充满了无限可能与创意,JavaScript作为核心语言,凭借强大的功能和灵活性,成为打造智能交互体验的重要工具。本文介绍前端大牛如何利用JavaScript实现平滑滚动、复杂动画、实时数据更新和智能表单验证等效果,展示了JavaScript的多样性和强大能力。
39 4
|
1月前
|
缓存 前端开发 JavaScript
"面试通关秘籍:深度解析浏览器面试必考问题,从重绘回流到事件委托,让你一举拿下前端 Offer!"
【10月更文挑战第23天】在前端开发面试中,浏览器相关知识是必考内容。本文总结了四个常见问题:浏览器渲染机制、重绘与回流、性能优化及事件委托。通过具体示例和对比分析,帮助求职者更好地理解和准备面试。掌握这些知识点,有助于提升面试表现和实际工作能力。
64 1
|
2月前
|
前端开发 JavaScript 安全
JavaScript前端开发技术
JavaScript(简称JS)是一种广泛使用的脚本语言,特别在前端开发领域,它几乎成为了网页开发的标配。从简单的表单验证到复杂的单页应用(SPA),JavaScript都扮演着不可或缺的角色。
26 3
|
19天前
|
前端开发 JavaScript 安全
vite3+vue3 实现前端部署加密混淆 javascript-obfuscator
【11月更文挑战第7天】本文介绍了在 Vite 3 + Vue 3 项目中使用 `javascript-obfuscator` 实现前端代码加密混淆的详细步骤。包括项目准备、安装 `javascript-obfuscator`、配置 Vite 构建以应用混淆,以及最终构建项目进行混淆。通过这些步骤,可以有效提升前端代码的安全性,防止被他人轻易分析和盗用。
|
2月前
|
JavaScript 前端开发 开发者
前端开发趋势:从Web Components到Vue.js
【10月更文挑战第9天】前端开发趋势:从Web Components到Vue.js
|
2月前
|
XML 前端开发 JavaScript
前端开发进阶:从HTML到React.js
【10月更文挑战第9天】前端开发进阶:从HTML到React.js
|
2月前
|
存储 JavaScript 前端开发
前端开发:Vue.js入门与实战
【10月更文挑战第9天】前端开发:Vue.js入门与实战
|
2月前
|
JavaScript 前端开发 应用服务中间件
vue前端开发中,通过vue.config.js配置和nginx配置,实现多个入口文件的实现方法
vue前端开发中,通过vue.config.js配置和nginx配置,实现多个入口文件的实现方法
163 0