几种基本的排序算法

简介:

       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优化(简单易懂详细)
1362 0
JDK21更新内容:增强模式匹配
JDK21更新内容:增强模式匹配
|
网络协议 Java 应用服务中间件
【Spring Cloud系统】- 轻量级高可用工具Keepalive详解
【Spring Cloud系统】- 轻量级高可用工具Keepalive详解
587 0
|
敏捷开发 资源调度 测试技术
阿里云云效产品使用合集之怎么解绑钉钉组织
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
缓存 监控 安全
使用GraphQL构建高效数据查询:技术深度剖析与实践
【8月更文挑战第11天】GraphQL以其强大的灵活性和高效性,为现代Web开发提供了一种全新的数据查询和传输方式。通过合理使用GraphQL的核心特性和策略,开发者可以构建出高效、灵活且易于维护的API。然而,GraphQL的成功应用也需要开发者在Schema设计、查询优化、客户端缓存以及安全性等方面进行深入的思考和实践。希望本文能够为开发者在使用GraphQL构建高效数据查询方面提供一些有益的参考和启示。
|
SQL 分布式计算 算法
程序员必备的面试技巧——大数据工程师面试必备技能
程序员必备的面试技巧——大数据工程师面试必备技能
329 0
|
机器学习/深度学习 人工智能
通义千问和文新一言
通义千问和文新一言
1041 3
|
Java 数据可视化
快递驿站取件管理系统|基于SpringBoot的快递栈系统设计与实现(二)
快递驿站取件管理系统|基于SpringBoot的快递栈系统设计与实现
269 0
快递驿站取件管理系统|基于SpringBoot的快递栈系统设计与实现(二)
|
JavaScript
使用 Vue CLI 创建 Vue 项目的详细步骤
使用 Vue CLI 创建 Vue 项目的详细步骤
195 0
|
网络协议 安全 网络架构
【华为HCIP | 华为数通工程师】IPV4与IPV6 高频题(2)
【华为HCIP | 华为数通工程师】IPV4与IPV6 高频题(2)
439 0

热门文章

最新文章