排序算法。

news2025/2/6 9:53:53
冒泡排序:

基本:

 private static void sort(int[] a){
        for (int i = 0; i < a.length-1; i++) {
            for (int j = 0; j < a.length-i-1; j++) {
                if (a[j]>a[j+1]){
                    swap(a,j,j+1);
                }
            }
        }
    }
private static void swap(int[] a,int i,int j){
        int temp=a[i];
        a[i]=a[j];
        a[j]=temp;
    }

优化一:
 

private static void sort2(int[] a){
        for (int i = 0; i < a.length-1; i++) {
            boolean swapped=false;
            for (int j = 0; j < a.length-i-1; j++) {
                if (a[j]>a[j+1]){
                    swap(a,j,j+1);
                    swapped=true;
                }
            }
            if (!swapped){
                break;
            }
        }
    }
private static void swap(int[] a,int i,int j){
        int temp=a[i];
        a[i]=a[j];
        a[j]=temp;
    }

优化二:
 

private static void sort1(int[] a){
        int n=a.length-1;
        while (true){
            int last=0;
            for (int j = 0; j <n; j++) {
                if (a[j]>a[j+1]){
                    swap(a,j,j+1);
                    last=j;
                }
            }
            n=last;
            if (n==0){
                break;
            }
        }
    }
    private static void swap(int[] a,int i,int j){
        int temp=a[i];
        a[i]=a[j];
        a[j]=temp;
    }
选择排序:

将数组划分为有序和无序,每一轮都选择一个最小的值加入到已排序部分。

private static void sort1(int[] a){
        for (int i = 0; i < a.length; i++) {
            int minIndex=i;
            for (int j = i+1; j <a.length; j++) {
                if (a[minIndex]>a[j]){
                    minIndex=j;
                }
            }
            if (minIndex!=i){
                swap(a,minIndex,i);
            }
           
        }
    }
    private static void swap(int[] a,int i,int j){
        int temp=a[i];
        a[i]=a[j];
        a[j]=temp;
    }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1598698.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Solaris系统参数未配置导致rac节点重启异常

Solaris系统参数未配置导致rac节点重启异常&#xff0c;检查alert日志发现很多参数异常告警&#xff1a; 配置Solaris内核参数 在两个节点上配置同样的Solaris内核参数。 为grid用户和oracle用户创建projects&#xff0c;配置共享内存参数&#xff1a; # /usr/sbin/ndd /dev/t…

适当睡眠有助于缓解抑郁

适当睡眠&#x1f634;&#x1f62a;&#x1f971;&#x1f4a4;&#x1f6cc;&#x1f3fc;有助于缓解抑郁&#x1f917; 睡眠与抑郁之间存在密切的关系。一方面&#xff0c;良好的睡眠可以促进身体和大脑的恢复与修复&#xff0c;有助于缓解抑郁症状并提高生活质量。另一方面…

9个高质量的Python学习网站:

我这边整理出来了9个高质量的Python学习网站,分享给大家,用起来&#xff01; Python 官方文档&#xff1a; Python 的官方文档包含了详细的教程、参考和库文档&#xff0c;是学习 Python 编程语言的权威指南之一 https://docs.python.org/zh-cn/3/ Real Python&#xff1a;…

IO——标准IO

1.1概念 标准IO&#xff1a;是在C库中定义的一组专门用于输入输出的函数。 1.2特点 &#xff08;1&#xff09;通过缓冲机制减少系统调用&#xff0c;提高效率 &#xff08;2&#xff09;围绕流操作&#xff0c;用FILE*描述 &#xff08;3&#xff09;标准IO默认打开三个流&a…

HTML常见标签的使用

文章目录 1. **文档结构标签**2. **文本内容标签**3. **图像标签**4. **链接标签**5. **列表标签**6. **表格标签**7. **表单标签**8. **其他常用标签**9. **注释标签** 案例展示 网页结构层主要通过HTML&#xff08;HyperText Markup Language&#xff09;标签来构建&#xff…

它山之石可以攻玉,大师摄影作品鉴赏

一、资料描述 本套大师摄影作品&#xff0c;大小685.08M&#xff0c;共有19个文件。 二、资料目录 Bill.Brandt.(比尔布兰德).rar Bourk White(伯克怀特).rar Bresson(布列松).rar Edward Weston(爱德华韦斯顿).rar Herb Ritts(赫伯瑞茨).rar Richard Avedon(阿威顿).r…

超像素分割在AI去衣技术中的应用与探讨

随着人工智能技术的飞速发展&#xff0c;图像处理领域不断涌现出新的方法和应用。其中&#xff0c;超像素分割作为一种重要的图像预处理技术&#xff0c;在AI去衣这一特定应用中发挥着至关重要的作用。本文将深入探讨超像素分割在AI去衣技术中的应用&#xff0c;并尝试从专业的…

基于SpringBoot+Vue的在线教育系统(源码+文档+包运行)

一.系统概述 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理信息系统的实施在技术上已逐步成熟。本文介绍了在线教育系统的开发全过程。通过分析在线教育系统管理的不足&#xff0c;创建了一个计算机管理在线教育系统的方案。文章介绍了在线教育系统的系统分析部…

人工智能ai帮助我们做什么?

最近有去使用人工智能画图&#xff0c;做文案&#xff0c;写代码&#xff0c;优化代码&#xff0c;确实很好用。 人工智能可以为我们做什么 1&#xff0c;自动化任务&#xff1a;人工智能可以自动执行重复性任务&#xff0c;从而节省时间和精力。 2&#xff0c;数据分析&…

自然语言处理——情绪检测数据集

一、重要性及意义 情绪检测的重要性和意义体现在多个方面&#xff0c;不仅对于个人日常生活有深远影响&#xff0c;也在多个行业和领域中扮演着关键角色。以下是情绪检测的重要性和意义的具体体现&#xff1a; 提高人机交互体验&#xff1a; 在人工智能和机器学习驱动的系统中…

高效求解最长回文子序列:动态规划方法与C语言实现

高效求解最长回文子序列&#xff1a;动态规划方法与C语言实现 问题描述解决方案伪代码C代码示例算法分析进一步讨论 在计算机科学中&#xff0c;回文是一种有趣的字符串&#xff0c;它在正序和逆序下是相同的。例如&#xff0c;“civic”、"racecar"和"aibohpho…

JAVA基础面试题(第九篇)中! 集合与数据结构

JAVA集合和数据结构也是面试常考的点&#xff0c;内容也是比较多。 在看之前希望各位如果方便可以点赞收藏&#xff0c;给我点个关注&#xff0c;创作不易&#xff01; JAVA集合 11. HashMap 中 key 的存储索引是怎么计算的&#xff1f; 首先根据key的值计算出hashcode的值…

【安装部署】Apache SeaTunnel 和 Web快速安装详解

版本说明 由于作者目前接触当前最新版本为2.3.4 但是官方提供的web版本未1.0.0&#xff0c;不兼容2.3.4&#xff0c;因此这里仍然使用2.3.3版本。 可以自定义兼容处理&#xff0c;官方提供了文档&#xff1a;https://mp.weixin.qq.com/s/Al1VmBoOKu2P02sBOTB6DQ 因为大部分用…

棱镜七彩上榜《中国网络安全行业全景图》软件成分分析领域

近日&#xff0c;安全牛第十一版《中国网络安全行业全景图》&#xff08;以下简称“全景图”&#xff09;正式发布。棱镜七彩凭借专业技术实力和创新能力上榜全景图软件供应链安全-软件成分分析领域。 据悉&#xff0c;本次第十一版全景图优先展现当前热门网络安全领域中具有较…

飞企互联FE业务协作平台 ProxyServletUti 任意文件读取漏洞复现

0x01 产品简介 飞企互联-FE企业运营管理平台是一个基于云计算、智能化、大数据、物联网、移动互联网等技术支撑的云工作台。这个平台可以连接人、链接端、联通内外,支持企业B2B、C2B与O2O等核心需求,为不同行业客户的互联网+转型提供支持。其特色在于提供云端工作环境,整合…

GLIB: The Main Event Loop

主事件循环机制&#xff08;MEL&#xff1a;the Main Event Loop)在GLib和GTK应用中管理可用的事件源。事件源的类型包括&#xff1a;文件描述符&#xff08;管道、套接字和常规文件&#xff09;和定时器超时。 guint g_source_attach (GSource* source, GMainContext* contex…

java的深入探究JVM之内存结构

前言 Java作为一种平台无关性的语言&#xff0c;其主要依靠于Java虚拟机——JVM&#xff0c;我们写好的代码会被编译成class文件&#xff0c;再由JVM进行加载、解析、执行&#xff0c;而JVM有统一的规范&#xff0c;所以我们不需要像C那样需要程序员自己关注平台&#xff0c;大…

软件开发安全设计方案

2.1.应用系统架构安全设计要求 2.2.应用系统软件功能安全设计要求 2.3.应用系统存储安全设计要求 2.4.应用系统通讯安全设计要求 2.5.应用系统数据库安全设计要求 2.6.应用系统数据安全设计要求 软件开发全资料获取&#xff1a;软件开发全套资料_软件开发资料-CSDN博客https://…

server_id 引发的 MySQL 级联复制同步异常

MySQL 级联复制的坑&#xff0c;我帮你们踩了。 作者&#xff1a;蒋士峰&#xff0c;爱可生 DBA 团队成员&#xff0c;熟悉 MySQL&#xff0c;Oracle 等数据库。每天的积累&#xff0c;时间久了&#xff0c;会带来不一样的收货。 爱可生开源社区出品&#xff0c;原创内容未经授…

SOLIDWORKS 2024教育版全套多少钱?

SOLIDWORKS 2024教育版全套是一款专为教育机构和学生设计的3D CAD设计软件套装。它集合了SOLIDWORKS的核心功能和工具&#xff0c;旨在帮助学生在学习和实践过程中掌握先进的工程设计和制造技术。对于教育机构和学生而言&#xff0c;了解SOLIDWORKS 2024教育版全套的价格成为了…