java冒泡排序以及优化,并用vue+element在网页上进行可视化排序

Qt5-可视化九大经典排序算法(一)冒泡排序 先引用Wiki的介绍(链接在这): 冒泡排序,有时也称为沉没排序,是一种简单的排序算法,它重复遍历列表,比较相邻的对,如果它们的顺序错误则交换它们。重复传递列表,直到列表排序。该算法是一种比较排序,以较小或较大元素“冒泡”到列表顶部的方式命名。虽然算法很简单,但即使与插入排序相比,它对于大多数问题来说太慢而且不切实际。如果输入大多是按顺序排列的,并且一些无序元素几乎就位,则冒泡排序可以是实用的。... 阅读详情

目录

网页图片:

冒泡排序(java版本)

冒泡排序优化(java版本)

前端代码

VUE.JS

element-ui

部分html

script

全部代码:


网页图片:

 在输入框中输入数组,点击测试就能动态图演示排序过程.

由于不方便录制视频,就以图片的形式呈现:

冒泡排序(java版本)

package suanfa;
import java.util.Arrays;
import java.util.Scanner;
public class xishuarr {
public static void main(String[] args) {
System.out.println("输入要排序的值,输入的每个值用逗号隔开:");
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
// 将字符串按照","拆分成字符串数组
String[] strArray = str.split(",");
// 新建数组用来存储拆分出来的每个值
int[] array = new int[strArray.length];
// 给数组循环遍历赋值

for (int i = 0; i < strArray.length; i++) {
array[i]=Integer.parseInt(strArray[i]); }
sort(array);
System.out.println("排序后的数组:" + Arrays.toString(array)); }
/** *用冒泡排序算法对数组进行排序 * @param array */
private static void sort(int[] array) {
int count=0; int cnt=0; int x=0;
// array.length - 1是因为最后一轮不需要排序
for (int i=0; i < array.length-1; i++) {
// array.length - i是因为每一轮都能确定排序好一个数
for (int j=0; j < array.length-1- i; j++) { count++; int
temp=0; if (array[j]> array[j + 1]) {
cnt++;
temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
}}
System.out.println("第"+(i+1)+":"+Arrays.toString(array));
x=i;
}
System.out.println("运行次数:"+count+ " 执行了" + (x + 1) + "趟 排序" + "交换次数:"+cnt);
}
}

冒泡排序优化(java版本)

package suanfa;
import java.util.Arrays;
import java.util.Scanner;
public class xishuarr {
public static void main(String[] args) {
System.out.println("输入要排序的值,输入的每个值用逗号隔开:");
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
// 将字符串按照","拆分成字符串数组
String[] strArray = str.split(",");
// 新建数组用来存储拆分出来的每个值
int[] array = new int[strArray.length];
// 给数组循环遍历赋值

for (int i = 0; i < strArray.length; i++) {
array[i]=Integer.parseInt(strArray[i]); }
sort(array);
System.out.println("排序后的数组:" + Arrays.toString(array)); }
/** *用冒泡排序算法对数组进行排序 * @param array */
private static void sort(int[] array) {
int count=0; int cnt=0; int x=0;boolean flag=false;
// array.length - 1是因为最后一轮不需要排序
for (int i=0; i < array.length-1; i++) {
// array.length - i是因为每一轮都能确定排序好一个数
for (int j=0; j < array.length-1- i; j++) { count++; int
temp=0; if (array[j]> array[j + 1]) {
cnt++;flag=true;
temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
}}
System.out.println("第"+(i+1)+":"+Arrays.toString(array));
x=i;
if(!flag) { break; }else { flag=false; }
}
System.out.println("运行次数:"+count+ " 执行了" + (x + 1) + "趟 排序" + "交换次数:"+cnt);
}
}

前端代码

VUE.JS

 可以取 vue的官网下载 :VUE.JS

element-ui

elementui下载地址:UNPKG - element-ui

部分html

<script src="js/vue.js"></script>
<link rel="stylesheet" href="element-ui/lib/theme-chalk/index.css">
<script src="element-ui/lib/index.js"></script>
<style>
    .el-header {


        color: #333;
        text-align: center;
        line-height: 60px;
    }



    .el-footer {
        background-color: #B3C0D1;
        color: #333;
        text-align: center;
        line-height: 60px;
    }

    .el-aside {
        background-color: #D3DCE6;
        color: #333;
        text-align: center;
        line-height: 200px;
    }


    .el-main {
        background-color: #E9EEF3;
        color: #333;
        /* text-align: center;
        line-height: 160px; */
    }

    body>.el-container {
        margin-bottom: 40px;
    }

    .el-container:nth-child(5) .el-aside,
    .el-container:nth-child(6) .el-aside {
        line-height: 260px;
    }

    .el-container:nth-child(7) .el-aside {
        line-height: 320px;
    }

    /* From cssbuttons.io by @Sujitkavaiya */
    .card {
        padding: 8px 18px 1px 18px;
        overflow-y: auto;
        width: 190px;
        height: 254px;
        background: rgb(255, 255, 255);
        /* border-radius: 0.4em; */
        border-radius: 30px;
        box-shadow: 0.3em 0.3em 0.7em #00000015;
        transition: border 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
        border: rgb(250, 250, 250) 0.2em solid;

        word-break: break-all;

    }

    .card:hover {
        border: #006fff 0.2em solid;

    }

    .button {
        padding-top: 2%;
        padding-bottom: 5%;


        display: flex;
        justify-content: center;
        align-items: center;
    }


    .biao {
        width: 200px;

        margin: auto;
        appearance: button;
        background-color: #1899D6;
        border: solid transparent;
        border-radius: 16px;
        border-width: 0 0 4px;
        box-sizing: border-box;
        color: #FFFFFF;
        cursor: pointer;
        /* display: inline-block; */
        font-size: 15px;
        font-weight: 700;
        letter-spacing: .8px;
        line-height: 20px;
        margin: 0;
        outline: none;
        overflow: visible;
        padding: 13px 19px;
        text-align: center;
        text-transform: uppercase;
        touch-action: manipulation;
        transform: translateZ(0);
        transition: filter .2s;
        user-select: none;
        -webkit-user-select: none;
        vertical-align: middle;
        white-space: nowrap;
    }

    .biao:after {
        background-clip: padding-box;
        background-color: #1CB0F6;
        border: solid transparent;
        border-radius: 16px;
        border-width: 0 0 4px;
        bottom: -4px;
        content: "";
        left: 0;
        position: absolute;
        right: 0;
        top: 0;
        z-index: -1;
    }

    .biao:main,
    .biao:focus {
        user-select: auto;
    }

    .biao:hover:not(:disabled) {
        filter: brightness(1.1);
    }

    .biao:disabled {
        cursor: auto;
    }

    .biao:active:after {
        border-width: 0 0 0px;
    }

    .biao:active {
        padding-bottom: 10px;
    }
</style>

script

    <script>



        new Vue({
            el: "#app",
            // 页面加载后

            mounted() {

            },
            methods: {
                handleClick(tab, event) {
                    console.log(tab, event);
                },
                onSubmit() {

                    console.log(this.formInline.user);
                    var a = this.formInline.user
                    var arr = a.split(",");
                    console.log(arr);
                    localStorage.setItem("arr", arr);
                    location.href = "maopao.html";

                },
                onSubmit2() {

                    console.log(this.formInline.user);
                    var a = this.formInline.user
                    var arr = a.split(",");
                    console.log(arr);
                    localStorage.setItem("arr", arr);
                    location.href = "maopao2.html";

                },

            },


            data() {
                return {
                    formInline: {
                        user: ''
                    },


                    activeName: 'second',
                    dialogVisible: false,
                    aa1: false,
                    aa2: false,
                    aa3: false,
                    dd1: false,
                    dd2: false,
                    a11: false,
                    a12: false,
                    a13: false,
                    a1: false,
                    a2: false,

                    b: false,
                    c: false,
                    d: false,

                };
            }

        })
    </script>

全部代码:

链接:https://pan.baidu.com/s/1d0mtm9QqrEVL5rT600kSTQ 
提取码:ac1v

(只写了冒泡)

大厂Python自动化测试面试题合集 题目:函数的作用是什么?调用函数的语法?答案:将独立功能代码封装成模块,复用代码;函数名(实参)。题目:函数 return 作用是什么?无 return 时函数返回什么?多返回值底层是什么类型?答案:返回函数执行结果;无 return 默认返回 None;return x,y,z 底层自动封装为元组。题目:函数四大参数类型分别是什么?定义顺序要求?答案:必选参数、默认参数、可变位置 * args、命名关键字、可变关键字 **kwargs;顺序:必选→默认→*args→命名关键字→**kwargs。 阅读详情

相关推荐

java GUI 实现冒泡排序

使用NetBeans设计界面,实现带界面冒泡排序 对输入String进行处理,将连续数字保存入数组(考虑负数,浮点数,首位为0的情况) 压缩包包含,使用java源文件生成的exe文件

算法可视化之冒泡排序

前言 今天太累了,想自己做一个算法可视化的网站,可是毫无思路,墨迹了一天才发现已经有大佬做出来了,效果特别好,所以我就白嫖了一手,然后自己做了注解,分步骤剪了视频,实在累了,就写个冒泡算法偷个懒,也作为这个系类的开头。之后每个周日都会更新一个算法可视化系类的博客,若是大家觉得不错,点赞可好 冒泡排序 核心思想 冒泡排序是最简单的一种排序算法了,它可以用八个字来概括: 相邻比较,大数后移 废话不多说,直接上图 玩游戏学算法之冒

Only Sun 922

vue项目实现冒泡排序的可视化(bubbleSort)

vue项目实现的 冒泡排序可视化,动态直观的展现冒泡排序是如何运作的,让你看清排序的步骤,欢迎大家下载学习

排序算法_选择排序

一、算法描述: 首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置 再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。 以此类推,直到所有元素均排序完毕。 二、图示            三、性能描述   数据结构 :数组   最差时间复杂度 :O(n2)   最优时间复杂度 :O(n2)   平均时间复杂度 :O(n2)   最差空间...

weixin_30559481的博客 382

从Applied Intelligence被拒到The Visual Computer录用:我的计算机视觉论文投稿时间线全记录(含详细修改意见)

本文详细记录了作者从Applied Intelligence被拒到The Visual Computer成功发表计算机视觉论文的全过程,重点分享了如何将模糊的拒稿理由转化为具体改进方案。文章包含技术改进细节、写作调整策略以及期刊选择经验,为计算机视觉领域的研究者提供了实用的投稿指南。

weixin_30872499的博客 465

【simulink模型】独立悬架振动模型,七自由度整车simulink模型

车辆悬架系统的设计对提升车辆行驶平顺性和操纵稳定性具有重要意义。本文构建了独立悬架的振动仿真模型以及七自由度整车动力学模型,基于 Simulink 平台实现对模型的动态响应仿真。通过对比不同工况下的车辆振动响应,验证了模型的准确性与实用性。研究结果为车辆悬架系统的优化设计提供了有力支持。

2401_84610415的博客 1581

冒泡排序

1.介绍: 冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。 2.算法描述: 1).比较相邻的元素。如果第一个比第二个大,就交换它们两个; 2).对每一对相邻元素作同样...

张铎 801

李沐之数值稳定性+模型初始化和激活函数

层记为t,这里的y不是预测,还包括了损失函数,y是优化函数,不是预测的结果y。第t层是输出。所有的h都是一些向量,向量关于向量的导数是一个矩阵,所以用了很多次的矩阵乘法,出问题就在这里。

m0_51133942的博客 1527

D3.js可视化冒泡排序(递归)

一、初始的柱状图的上升效果 D3中可用于实现图形过渡的方法有四种: 1.transition() 该API的功能为启动过渡效果。其前后是图形变化前后的状态,可用于形状,位置,颜色的变化。 2.duration() 该API的功能为指定过渡的持续时间,单位为毫秒。例如duration(1000),即1秒。 3.ease() 该API可以指定过渡的变化方式,常用的如下: ①linear:普通的线性变化; ②circle:慢慢地到达变换的最终状态; ③elastic:带有弹跳的到达最终状...

cangzhexingxing的博客 1090

医学成像学习笔记(一):核磁共振成像(MRI)k空间为何是图像频谱详解

前言   k空间是核磁共振成像图像重建的核心,可能很多人像笔者一样第一次学时会非常疑惑,为何k空间是图像的频域空间,观其填充过程,明明是空域信号的采样填充呀。网上很少有文章讨论这个问题,所以笔者在此写下自己的理解,供大家参考。 MRI位置编码   现在的MRI一次扫描的是一个断层或者多个断层,所谓断层就是一个有厚度的面,通过z方向梯度场来选择。我们扫描一个断层的目的是为了获得该断层各位置的质子情况,它们携带着组织的性质信息,反应出来的就是信号强度。如果整个断层都采用相同的磁场强度,而我们只能得到一个断

意疏的学习笔记 1万+

VINS-Mono 代码详细解读——IMU预积分的残差、Jacobian和协方差 processIMU()+intergrationBase类+imu_factor.h

IMU离散中值预积分 1.1、IMU模型 测量值:加速度计a^、陀螺仪w^, 加上了bias游走和随机白噪声。 真实值:加速度计a、陀螺仪w。 实际情况下,可以获得测量值a^和w^,需要反推真实值。一般忽略随机游走高斯噪声n w=w^-bg; a=qwb(a^-ba)-gw; 1.2、连续时间IMU运动模型,积分 PVQ(两帧之间) 将第k帧和第k+1帧所有的IMU进行积...

try_again_later的博客 9266

QT小程序:冒泡排序法

程序效果图 BubbleSort.h文件代码 #pragma once #include <QtWidgets/QWidget> #include "ui_BubbleSort.h" #include <QLabel> class BubbleSort : public QWidget { Q_OBJECT public: BubbleSort(QW...

weixin_41516902的博客 1196

C# 工业上位机集成 YOLOv8 全实战:模型转换→相机取流→PLC 联动落地部署

// 检测结果实体类,工业场景扩展置信度、坐标、类别字段set;set;set;set;/// 模型配置常量,与导出参数保持一致// 置信度阈值// 非极大值抑制阈值public static readonly string[] ClassNames = { "物料", "缺陷", "挡板" };// 自定义类别本文完整实现了YOLO模型转换→C#上位机集成→工业相机对接→PLC联动→现场部署标准化模型转换流程,杜绝C#端兼容性问题;解耦相机取流、推理、UI线程,满足工业高稳定性要求;

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 320

AI 编程:自动化代码生成、低代码 / 无代码开发、算法优化实践

AI编程是人工智能与软件工程融合的产物,涵盖自动化代码生成、低代码/无代码开发和智能算法优化三大方向。通过大语言模型等技术,AI编程能实现从需求到代码的自动生成、可视化开发和性能优化,大幅提升开发效率。其中,自动化代码生成支持多种编程语言和场景;低代码/无代码平台降低了开发门槛;算法优化则显著提升代码性能。三者相互协同,共同推动软件开发向更高效、低门槛的方向发展。未来,AI编程将实现全流程自动化,使编程成为更普及的基础技能。

zzywxc787的博客 1971

【Claude Code 源码解析教程】第4章:QueryEngine 查询引擎

本章深入解析 Claude Code 的核心引擎——QueryEngine,它是整个对话系统的"心脏",负责管理会话状态、消息处理流程和多轮对话支持。

rengang66的博客 269

YOLOv11改进 | Conv改进篇 | 含2种改进,引入DynamicConv替换普通Conv卷积下采样和C3k2_DynamicConv替换C3k2(来自CVPR2024)

本文提出了一种基于DynamicConv动态卷积优化的YOLOv11轻量化模型改进方案。通过引入多专家机制的动态卷积模块,在增加模型参数量的同时保持较低的计算复杂度(FLOPs),有效解决了低FLOPs模型在大规模预训练中的性能瓶颈问题。文章详细介绍了动态卷积的工作原理、核心代码实现,并提供了在YOLOv11中集成DynamicConv和C3k2_GhostModule_DynamicConv模块的完整教程,包括模块添加、配置文件修改和模型训练验证过程。实验结果表明,该方案在保持高效推理速度的同时显著提升了

Ai缝合怪、助力小伙伴高效发论文 536

冒泡排序《附代码实现及动图表现》

什么是冒泡排序? 是通过挨个的比较,将最大(或最小)数字层层交换至所有数据的开头,每冒一次,数据头部往后移一位,经过N次冒泡之后,得到最终排序!!! 一图就搞明白了!~ 冒泡排序的复杂度: <空间复杂度为O(1)、时间复杂度为O(N^2)> 简单代码实现:(升序) #include <iostream> using namespace std; int main() { int arr[10] = { 7,5,4,6,8,10,9,3,1,2 }; // 1-10的数值打乱放

ALLIN君 737

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

c++实现ui冒泡动态联动+easyx库

冒泡排序UI

m0_53524766的博客 1031

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

VUE项目基于源码实现可视化编程技术的探索

在面对大型且高度组件化的项目时,传统的开发模式——即边预览边手动修改代码,往往会因项目结构的复杂性而显得效率低下。为了解决这一问题,提升开发效率与团队协作的流畅度,我们构想了一种更为智能和直观的开发辅助方案。

bilibili_TC的博客 1125

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Java学习日记:UI篇(4)--冒泡排序动态展示

Java学习日记:UI篇(4)–冒泡排序动态展示 排序原理:持续比较相邻的元素,大的移到后面,因此大的会逐渐后移,形成有序序列。        ~~~~~~~       动态展示原理:利用上一节的画图板动态绘制展示排序过程。由于计算机运行速度较快,所以我们需要用到线程休眠(Thread.sleep(1000);),这里是让它休眠1s,这样我们就可以以适当的速度看到整个

IDNIHAI的博客 1318

swift中几种排序算法原理的UI动态实现

swift中的排序算法总结 冒泡排序 选择排序 快速排序 插入排序 堆排序 归并排序 系统排序 我们将这几种数组排序写进Array的分类里面方便调用冒泡排序算法步骤1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。2.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。3.针对所有的元素重复以上的步骤,除了最后一个。4.持续每次对越来越少的元素重

tianjifou的博客 584

java 可视化冒泡排序

文章目录1. 效果1. gif2. 开始3. 结束2. 代码2.1 定制数组 (会触发数组元素变更的事件)2. 绘图程序3. 主方法 1. 效果 (清除原有内容时会有闪屏 后面看看怎么搞) 1. gif (录到结束的) 2. 开始 3. 结束 2. 代码 2.1 定制数组 (会触发数组元素变更的事件) 继承自ArrayList 重载 set 方法 当调用 set 函数时 释放 set事件 public class MyArray<T> extends ArrayList<T>

zslngu的博客 1051

java drawnum_Java——冒泡排序可视化

步骤:理解冒泡排序,写出代码创建一个窗体,显示可视化的过程可视化代码的书写一、冒泡排序理解:(使数组从小到大排序)冒泡排序是相邻两个元素的比较第一次整体冒泡排序,可以让最大的元素到达最后的位置,所以第二次排序,排序的元素就是前n-1个依次类推,第k次排序就是数组元素的前n-k个元素进行冒泡排序经过多次排序,就可以得到一个从小到大排序的数组import java.util.Arrays;public...

weixin_39864591的博客 683

数组排序学习(一)-冒泡、选择、插入排序以及可视化的实现

数组排序学习(一)-冒泡、选择、插入排序以及可视化的实现数组排序学习(一)-冒泡、选择、插入排序以及可视化的实现1、冒泡排序1.1冒泡排序设计思路1.2注意事项1.3代码实现1.4双向冒泡排列2、选择排序2.1选择排序设计思路2.2注意事项2.3代码实现3、插入排序3.1插入排序设计思路3.2注意事项3.3代码实现4、可视化的实现4.1可视化实现的条件4.2代码实现附上可视化的视频~(较丑,见谅见谅) 数组排序学习(一)-冒泡、选择、插入排序以及可视化的实现 1、冒泡排序 1.1冒泡排序设计思路 冒泡排序

nooooooooooooo的博客 390

可视化排序实践之冒泡排序

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34367845的博客 786

排序方法——冒泡排序

  冒泡排序:是一种简单的排序算法。它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越来越小的元素会经由交换慢慢的“浮”到数列的顶端。  冒泡排序算法的运行: 比较相邻的两个元素。如果第一个比第二个大(升序),就交换他们两个。 对每一对相邻元素做同样...

weixin_30896763的博客 127
下一篇: 1.1.1计算机网络(概念,组成,分类)笔记
热爱编程的小白白
热爱编程的小白白 新星计划导师 新星计划导师
博客等级 码龄5年 11万+粉丝 243原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

热爱编程的小白白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值