几种基本的排序算法

简介:

       protected int[] bubbleUp(int[] Array)//冒泡排序
        {
            for (int i = 0; i < Array.Length-1; i++)//要冒泡次数
            {
                for (int j = 0; j < Array.Length-1-i; j++)//每次冒泡具体比较过程
                {
                    if (Array[j] < Array[j + 1])
                    {
                        int temp = Array[j + 1];
                        Array[j + 1] = Array[j];
                        Array[j] = temp;
                    }
                }
            }
            return Array;
        }
        public int[] SelectionSorter(int[] list)//选择排序 
        {
            int min;
            for (int i = 0; i < list.Length - 1; i++)
            {
                min = i;
                for (int j = i + 1; j < list.Length; j++ )               
                {
                    if (list[j] < list[min])
                        min = j;
                }
                int temp = list[min];
                list[min] = list;
                list = temp;
            }
            return list;
        }
        public int[] InsertionSorter(int[] list)// 插入排序 
        {
            for (int i = 1; i < list.Length; i++)
            {
                int temp = list;
                int j = i;
                while ((j > 0) && (list[j - 1] > temp))
                {
                    list[j] = list[j - 1];
                    --j;
                }
                list[j] = temp;
            }
            return list;
        }
        public int[] ShellSorter(int[] list)//希尔排序
        {
            int inc;
            for (inc = 1; inc <= list.Length / 9; inc = 3 * inc + 1) ;
            for (; inc > 0; inc /= 3)
            {
                for (int i = inc + 1; i <= list.Length; i += inc)
                {
                    int t = list[i - 1];
                    int j = i;
                    while ((j > inc) && (list[j - inc - 1] > t))
                    {
                        list[j - 1] = list[j - inc - 1];
                        j -= inc;
                    }
                    list[j - 1] = t;
                }
            }
            return list;
        }

 

 





















本文转自蓬莱仙羽51CTO博客,原文链接:http://blog.51cto.com/dingxiaowei/1366804,如需转载请自行联系原作者


相关文章
|
编译器 C语言 C++
右值引用,完美转发,NRVO 和RVO优化(简单易懂详细)
右值引用,完美转发,NRVO 和RVO优化(简单易懂详细)
1439 0
|
SQL Java 数据管理
HiveServer2&beeline
HiveServer2&beeline
254 0
HiveServer2&beeline
|
7月前
|
网络协议
紧急!域名被暂停?Namecheap验证解除全攻略
本文详细介绍了当域名因ICANN规定被暂停时的解决方法。主要原因是未在15天内验证Whois联系人信息,Namecheap会暂停域名导致服务中断。文章提供了三步解决方案:检查并更新Whois信息、查收验证邮件、手动请求重发验证邮件,并给出了预防未来暂停的建议。确保域名管理信息准确,避免网站意外中断。文中还解答了一些常见问题,如验证恢复时间、失败处理等,强调了域名管理的重要性。
371 0
紧急!域名被暂停?Namecheap验证解除全攻略
|
8月前
|
jenkins 测试技术 Shell
利用Apipost轻松实现用户充值系统的API自动化测试
API在现代软件开发中扮演着连接不同系统与模块的关键角色,其测试的重要性日益凸显。传统API测试面临效率低、覆盖率不足及难以融入自动化工作流等问题。Apipost提供了一站式API自动化测试解决方案,支持零代码拖拽编排、全场景覆盖,并可无缝集成CI/CD流程。通过可视化界面,研发与测试人员可基于同一数据源协作,大幅提升效率。同时,Apipost支持动态数据提取、性能压测等功能,满足复杂测试需求。文档还以用户充值系统为例,详细介绍了从创建测试用例到生成报告的全流程,帮助用户快速上手并提升测试质量。
|
敏捷开发 资源调度 测试技术
阿里云云效产品使用合集之怎么解绑钉钉组织
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
存储 缓存 安全
学习服务器硬件基础知识
服务器是指一种高性能计算机,提供计算、存储和通信服务。通常运行在网络环境中,为计算机、设备或用户提供资源共享、数据存储和处理等服务。服务器可以是专门设计的硬件设备,也可以是在普通计算机上运行的特定软件。
703 6
|
设计模式 前端开发 数据库
Django教程第1章 | 快速入门 | 基础知识
Django简介、Django特点、MVC与MTV模型、安装Django、开发用户管理案例【2月更文挑战第21天】
310 2
Django教程第1章 | 快速入门 | 基础知识
|
SQL 分布式计算 算法
程序员必备的面试技巧——大数据工程师面试必备技能
程序员必备的面试技巧——大数据工程师面试必备技能
396 0
|
机器学习/深度学习 人工智能
通义千问和文新一言
通义千问和文新一言
1236 3

热门文章

最新文章