react下的冒泡排序

用react实现 冒泡排序的过程 动画 效果 冒泡排序过程动画 效果 bubbleSort.jsx import React, { Component } from 'react' import {Button,InputNumber} from 'antd' export default class BubbleSort extends Component { constructor(props){ su... 阅读详情

函数组件下的冒泡

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>冒泡</title>
    <script src="https://cdn.staticfile.org/react/16.4.0/umd/react.development.js"></script>
    <script src="https://cdn.staticfile.org/react-dom/16.4.0/umd/react-dom.development.js"></script>
    <script src="https://cdn.staticfile.org/babel-standalone/6.26.0/babel.min.js"></script>
    <!-- 依次比较相邻的两个元素,如果后一个小于前一个,则交换,这样从头到尾一次,就将最大的放到了末尾。 -->
</head>
<body>

  <div id="app">
  </div>
  <script type="text/babel">

  function Sort(props){
    const num=props.number
    for(let i=0;i<num.length-1;i++){     
     //相当于:挨个取最大(最小)值,取length-1个值 ,因为最后未拿的值已经和之前取过的值均已进行了比较(需要进行排列的次数) 
      for(let j=0;j<num.length-1-i;j++){  
      //开始排序,控制比较次数(真正取值的循环),-1是不和自己比较,-i是已经排序好的最大(最小)值的个数
      if (num[j]<num[j+1]){  //小于号:位置转换,表示大的值放在第一位 表示降序
        const temp=num[j] //临时变量 
          num[j]=num[j+1] 
          num[j+1]=temp
        }   
      }
    }
    return <ul>
    { num.map(n=><li>{n}</li>)
    }
    </ul>

  
  }


  const num=[1,23,45,12,335,6,46,7,78]
  ReactDOM.render(
    <Sort number={num}/>,
    document.getElementById('app')
  )
  </script>
</body>

</html>

类组件下的冒泡

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>冒泡</title>
    <script src="https://cdn.staticfile.org/react/16.4.0/umd/react.development.js"></script>
    <script src="https://cdn.staticfile.org/react-dom/16.4.0/umd/react-dom.development.js"></script>
    <script src="https://cdn.staticfile.org/babel-standalone/6.26.0/babel.min.js"></script>
    <!-- 依次比较相邻的两个元素,如果后一个小于前一个,则交换,这样从头到尾一次,就将最大的放到了末尾。 -->
</head>
<body>
  <div id="app">
  </div>
   <script type="text/babel">
   class Order extends React.Component {
        constructor(props){
          super(props)
          this.state={
            newarr:[]
          }     
        }
        componentDidMount() {
          console.log(arr.length)
          for(let i=0;i<arr.length-1;i++){
          for(let j=0;j<arr.length-1-i;j++){
            const temp=arr[j]
            if(arr[j]>arr[j+1]){
              arr[j]=arr[j+1]
              arr[j+1]=temp
            }
         
         }    
       }    
       this.setState({
         newarr:arr
       })
    }
    
      render(){
        return <div>{this.state.newarr.map(n=><li key={n}>{n}</li>)}</div>
      
      }

   }
   const arr=[13,22,53,24,123,992,111,9,0]
   ReactDOM.render(
    <Order arr={arr}/>,
     document.getElementById('app')
   )
  </script>
</body>

</html>

理解的可能不是很好,望见谅。谢谢您的查看,希望能对你有所帮助,如有更好的理解与代码优化的建议请滴滴我,让我们共同进步。

前端大厂手写面试题目|给定数组实现选择排序,冒泡排序,队列,栈,如何去除数组当中的指定的元素 【代码】前端大厂手写面试题目|给定数组实现选择排序,冒泡排序,队列,栈,如何去除数组当中的指定的元素。 阅读详情

相关推荐

【React工作记录一百】前端小知识点扫盲笔记记录5

我是歌谣 最好的种树是十年前 其次是现在 加油 歌谣。

geyaoisnice的博客 175

react的Hooks

react的Hooks Hooks解决的问题就是: 可以让我们在函数式组件内部书写 state和 生命周期钩子,原本函数式组件内部是不能定义state和方法的,只有lei组件内部可以 useState 是用来定义state的 useEffect 类似于componentDidMount // componentDidUpdate,当数据发生改变时就会触发 import React,{ us...

zhangyuea的博客 251

Xilinx SDK工程编译、链接、调试注意事项

1、添加工程 启动SDK时选取workspace,如下图所示: 对应的workpace文件夹中会生成如下几个文件: 如果当前workspace是首次加载工程,SDK会进入启动界面 点击Import Project,导入已有工程 点击Browse,添加工程路径,一个完整的工程包含一个bsp文件夹,一个HW文件夹,和一个src文件夹(添加C功能函数) 点击Fini...

Autumn_He的博客 1万+

冒泡排序

冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。 它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。 这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端,故名。 冒泡排序算法的运作如下:(从后往前) 比

kakaxiqianxin的专栏 361

HyperLedger Fabric实战(一):基础环境构建

简介 本文将介绍从一台裸机上面如何构建出一个可用的Fabric网络(单机版,非测试网络)。 基础环境构建 Fabric组件安装

yindarui 1万+

QT快速配置MSVC2017编译环境(3分钟极简指南)

本文提供了一份3分钟极简指南,帮助开发者快速配置QT的MSVC2017编译环境。通过断网安装、精准勾选组件和配置QT Creator编译器路径等步骤,大幅提升QT开发效率。MSVC2017作为Windows平台高性能C++编译器,特别适合处理大型QT项目,编译速度优势明显。

weixin_30399821的博客 501

React onClick 事件阻止冒泡

在 React 中,你可以通过使用 onClick 事件来处理点击事件,并且可以通过在事件处理函数中调用 stopPropagation() 方法来阻止事件冒泡。本文将为你提供 类组件 和 函数式组件 两种示例。

天问博客-专注于大前端技术 3351

Win11内核隔离无法打开的解决方案详解

内核隔离问题的解决需遵循"先硬件后软件"的排查原则,90%以上的案例可通过驱动清理或外设断开解决。对于必须禁用该功能的用户,建议定期使用Windows Defender进行全盘扫描,并保持系统更新至最新版本。技术决策需在安全性和兼容性之间取得平衡,本文提供的多维解决方案可帮助用户构建更稳定的Windows 11使用环境。

mmoo_python的博客 4824

React 事件冒泡

在React中,我们可以在创建element的时候,传入事件和处理函数,这些事件会被做为合成事件来处理,当然,有些时候,我们也需要定义原生事件,比如给document绑定事件。有些情况下,就需要通过阻止事件冒泡来实现预期的交互效果。下面是几个简单的demo Demo 比如有如下的代码: import React from 'react' class Demo1 extends React.Comp...

neoveee的博客 4380

DeepSeek:为文化创意产业注入AI新动能

沪南胜境,闵行新章。随后,2024 年 5 月,DeepSeek 宣布开源第二代 MoE 大模型 DeepSeek-V2,以其比肩 GPT-4Turbo 的卓越性能,以及仅为 GPT-4 百分之一的价格优势,迅速在市场中掀起波澜,收获了 “AI 届拼多多” 的独特名号,让更多人看到了高性价比 AI 大模型的可能性。创作者自身也应提高对创作伦理的认识,树立正确的创作观念,在使用 AI 工具时,保持对创作的主导权,充分发挥自己的创造力和想象力,将 AI 作为创作的辅助工具,而不是替代品。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 1960

视觉SLAM十四讲slambook2示例代码所有依赖库的编译安装教程(VTK、OpenCV3、ceres、Sophus、g2o、Eigen、Pangolin、googletest等)

这是2021年的最后一篇博客~ 新年快乐! 0 准备工作   首先需要先安装cmake编译器: sudo apt-get install cmake   以及,将十四讲的示例代码克隆下来(十四讲的源码地址点击这里): git clone --recursive https://github.com/gaoxiang12/slambook2.git   由于里面的3rdparty文件夹内所有内容都来自于其他github仓库,所以需要加上--recursive参数,不然克隆下来的内容不完整。   如果你.

zeeq的博客 7837

基础入门 React Native 鸿蒙跨平台开发:冒泡排序动画可视化

所有能力均为 RN 原生自带,全部从 核心包直接导入,无任何额外依赖、无任何第三方库,鸿蒙端无任何兼容问题,也是实现冒泡排序动画可视化的全部核心能力,零基础易理解、易复用,无任何冗余,所有冒泡排序动画可视化功能均基于以下组件/API 原生实现:实现冒泡排序算法,支持异步执行,便于动画展示。 核心要点:实现状态管理功能,支持数组状态、比较状态、交换状态、排序状态等。 核心要点:实现随机数组生成功能,支持自定义数组大小。 核心要点:实现排序控制功能,支持开始、暂停、继续、重置。 核心要点:实现速度控制功能,支

Easonmax的博客 675

从零开始学习CANoe(三)—— 系统变量的创建和使用

从零开始学习CANoe(三)—— 系统变量的创建和使用

蚂蚁小兵 1万+

在React Native鸿蒙跨平台开发中实现一个冒泡排序算法并将其应用于数据排序,如何进行复制数组以避免直接修改状态中的数组

本文介绍了在React Native中实现冒泡排序算法并应用于数据排序的步骤。首先需要创建React Native项目并安装依赖,然后在组件中定义冒泡排序函数。示例代码展示了如何在App.js中实现冒泡排序,通过useState管理数据状态,并提供排序按钮触发排序操作。文章还包含了注意事项,如性能优化建议、状态管理技巧,以及关于鸿蒙设备兼容性的说明。最后提供了实际效果演示代码,展示了一个包含日历功能的React Native组件实现,其中使用了自定义图标组件和日期处理逻辑。

2401_86031952的博客 1万+

[STC32G144K246入门第一步]点亮LED

STC32G144K246是一款高性能32位8051单片机,集成了丰富外设资源,适用于工业控制和复杂算法处理。该芯片支持双模式内核,内置硬件加速器,提供246KB Flash和144KB SRAM存储空间。文章详细介绍了开发环境搭建步骤、寄存器配置方法,并给出了LED驱动示例代码,通过推挽输出控制P42口实现闪烁效果。虽然开发环境相比ARM存在不足,但通过合理配置仍可满足项目需求。该教程为开发者快速上手STC32G144K246提供了实用参考。

sinat_58149788的博客 795

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

基于HarmonyOS API 24 在React Native鸿蒙跨平台开发中实现一个冒泡排序算法并将其应用于数据排序,如何进行复制数组以避免直接修改状态中的数组

与XMLHttpRequest 一样,fetch()既可以发送数据也可以接收数据。使用init 对象参数,可。以配置fetch()在请求体中发送各种序列化的数据。

wanmeijuhao的博客 421

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

冒泡排序在电商价格筛选中的实战应用

首先需要模拟真实的商品数据。测试发现,在100条数据量下,冒泡排序平均耗时约15ms,而快速排序仅需2ms左右。具体实现时,我加入了分步展示的逻辑,每完成一次比较和交换都会更新UI,让用户清楚地看到排序的中间过程。这个需求来源于我最近参与的一个电商项目,用户经常抱怨价格排序不够直观,正好借此机会深入研究了排序算法的实际应用。为了让排序过程可视化,我特意设计了动画效果,可以实时展示元素交换的过程。通过Chrome开发者工具的内存分析功能,发现冒泡排序的内存占用相对稳定,而快速排序由于递归调用会占用更多内存。

EmeraldEagle36的博客 384

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

2024年Web前端最新VSCODE通用插件+vue插件+react插件(2024版本),handler机制面试回答

技术学到手后,就要开始准备面试了,找工作的时候一定要好好准备简历,毕竟简历是找工作的敲门砖,还有就是要多做面试题,复习巩固。开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】功能:给匹配的括号() 或者 对象{}… 添加对应的颜色用于区分。

2401_84617772的博客 1580

react-redux实现升序降序排序

action.js 下面代码中的patientList是一个数据数组,比较patientList数组中的sirenId,然后patientList这一行数据也排序 export function upSort(patientList) { return async dispatch =&gt; { var sortarr = [] for (var i = 0; i &lt...

前端小白成长记 3155

利用React-Native实现的排序小工具

写作时间:2020/4/27 React-Native版本:0.62.2 界面是下面这样的,实现的功能就是当你输入一系列数字(用空格隔开)的时候,会自动对你所输入的内容进行排序,并进行显示。 具体的实现的代码如下,如果你想运行代码查看效果,只需新建一个RN工程,并将下面的代码替换原App.js中的代码即可。 // App.js import React, {Component} from 're...

weixin_42405831的博客 674

20210309某建筑集团公司前端面试总结

目录 讲下你会的几种排序算法 讲下冒泡排序的实现 能不能对冒泡排序进行优化 讲下快速排序实现 能不能对快速排序进行优化 React的生命周期作用讲下 HTTP1.0和HTTP1.1有什么区别 为什么有了HTTP为什么还要HTTPS HTTPS是如何保证安全的 组件通信的方式讲下 讲下redux的⼯作流程 讲下性能优化 网页输入url出现的效果讲下 webpack的配置说下 js的继承讲下 1. 讲下排序算法 冒泡排序,选择排序,插入排序,希尔排序,快速排序,归并排序,堆排序等。 2. 讲下冒泡排序的实现

uperficialyu的博客 314

前端面试必考:冒泡排序的核心原理与优化实践

排序算法是计算机科学的基础概念,通过相邻元素比较与交换实现数据有序化。冒泡排序作为最经典的O(n²)算法,其双重循环结构能清晰展现时间复杂度的计算逻辑,是理解算法性能分析的理想教学案例。在前端开发领域,虽然实际业务中多使用内置sort方法,但掌握冒泡排序对处理表格渲染、状态更新等场景的性能优化具有指导意义。通过标志位提前终止、双向冒泡等优化手段,可使其在特定数据模式下接近O(n)效率。该算法还揭示了React中key属性对渲染性能的影响机制,体现了基础算法与现代前端框架的深层联系。

weixin_32247165的博客 353

一名【合格】前端工程师面试必备八股文

以前我在各平台上看到面试贴就直接刷掉的,从不会多看一眼,直到今年我开始准备面试时,才发现很多面试经验贴特别有用,看这些帖子的过程中对我的复习思维形成影响很大,所以我现在把最近自己整理好的一些前端高频面试题分享出来,希望能帮到接下来要找工作的朋友。9. react异步渲染的概念,介绍Time Slicing 和 Suspense。22. sum(2, 3)实现sum(2)(3)的效果。2. 介绍冒泡排序,选择排序,冒泡排序如何优化。7. ES6中的map和原⽣的对象有什么区别。5. 介绍⼆叉搜索树的特点。

W11929311582的博客 1437

jsonp react 获取返回值_React-Hooks-用法

刚学了一下 React Hooks 的用法,就写篇博客记录一下。因为学得也比较浅,所以这篇博客只讲怎么用。代码放在这里了:https://github.com/Haixiang6123/learn-react-hooks 。看对应的 LearnXXX.tsx 就可以了。例子在这里:https://yanhaixiang.com/learn-react-hooksuseState普通用法就是用来管理...

weixin_39893205的博客 455

【大厂面试】有赞前端面试24问

Linux 754 介绍 介绍冒泡排序,选择排序,冒泡排序如何优化 transform动画和直接使用left、top改变位置有什么优缺点 如何判断链表是否有环 介绍二叉搜索树的特点 介绍暂时性死区 ES6中的map和原生的对象有什么区别 观察者和发布-订阅的区别 react异步渲染的概念,介绍Time Slicing 和 Suspense 16.X声明周期的...

柯晓楠 2675
上一篇: react下的九九乘法表
下一篇: js下的数组去重
肥兔。
博客等级 码龄7年 1粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值