c#冒泡排序法学习

叶丶梓轩 叶丶梓轩     2022-08-21     405

关键词:

一,冒泡排序法理解:就是将一个集合里的数据当前位置和后一位比较,然当前位置大于后一位,则两个位置替换,直到排序完成

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace MaoPao
{
    class Program
    {
        static void Sort(int[] sArray)
        {
            bool sw = true;
            do
            {
                sw = false;
                for (int i = 0; i < sArray.Length - 1; i++)
                {
                    if (sArray[i] > sArray[i + 1])
                    {
                        int temp = sArray[i];
                        sArray[i] = sArray[i + 1];
                        sArray[i + 1] = temp;
                        sw = true;
                    }
                }
            } while (sw);
        }

        static void Main(string[] args)
        {
            int[] sArray = new int[] { 88, 73, 22, 1, 445, 53, 63, 5 };
            Sort(sArray);
            foreach (var temp in sArray)
            {
                Console.Write(temp + " ");
            }
            Console.ReadKey();
           
        }
    }
}

二,冒泡排序拓展

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace MaoPao
{
    class Program
    {
        static void CommonSort<T>(T[] sArray, Func<T, T, bool> compareMethod)
        {
            bool sw = true;
            do
            {
                sw = false;
                for (int i = 0; i < sArray.Length - 1; i++)
                {
                    if (compareMethod(sArray[i], sArray[i + 1]))
                    {
                        T temp = sArray[i];
                        sArray[i] = sArray[i + 1];
                        sArray[i + 1] = temp;
                        sw = true;
                    }
                }
            } while (sw);
        }
        static void Main(string[] args)
        {

            Employee[] employees = new Employee[]
            {
                new Employee("张三",12), 
                new Employee("李四",234), 
                new Employee("陈五",14), 
                new Employee("李六",234), 
                new Employee("王七",90)
            };
            CommonSort<Employee>(employees, Employee.Compare);
            foreach (Employee em in employees)
            {
                Console.WriteLine(em);
            }
            Console.ReadKey();
        }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace MaoPao
{
    class Employee
    {
        public string Name { get; private set; }
        public int Comp { get; private set; }

        public Employee(string name, int comp)
        {
            this.Name = name;
            this.Comp = comp;
        }
        //如果e1大于e2的话,返回true,否则返回false
        public static bool Compare(Employee e1, Employee e2)
        {
            if (e1.Comp > e2.Comp) return true;
            return false;
        }

        public override string ToString()
        {
            return Name + ":" + Comp;
        }
    }
}

 

[c#]用菜鸟的思维学习算法--马桶排序冒泡排序和快速排序

用菜鸟的思维学习算法--马桶排序、冒泡排序和快速排序【博主】反骨仔    【来源】http://www.cnblogs.com/liqingwen/p/4994261.html   马桶排序  一、场景:期末考试完了,老师要将同学们的分数从高到低排序。假设班上有5... 查看详情

javascript中的冒泡排序法

...  这里要介绍的是排序算法中较简单的一种算法:冒泡排序。先尝试用最简单的想法去实现排序,以此来比较学习冒泡排序    设有一数组,其大小为10个元素(int str[10])数组内的数 查看详情

基础排序算法c#

...法知识欠缺,学习几种基础排序算法,1.选择排序 2.冒泡排序3.插入排序以升序为例,程序中凡是两个值的比较前者大于后者,则调换位置 1.选择排序最容易想到的排序算法,但却不知道这种叫做选择排序法1///<summary>... 查看详情

《c#零基础入门之百识百例》(二十二)数组排序--冒泡排序

C#零基础入门数组相关--冒泡排序前言一,冒泡排序1.1原理介绍1.2步骤解释1.3动图理解二,代码解析2.1参考代码2.2计数交换三,实例练习–优化冒泡排序3.1思路分析3.2参考代码前言本文属于C#零基础入门之百识百例系列文章。此系... 查看详情

冒泡排序(代码片段)

...将是我第一个记录自己学习轨迹的博客文,本次记录的是冒泡排序。   冒泡排序最大时间复杂度为O(n^2),从空间复杂度和时间复杂度来说冒泡排序算法并不是最好的排序方法。但是冒泡排序有一些优点:冒泡法有一个... 查看详情

算法大神之路----排序(冒泡排序法)

冒泡排序法冒泡排序法又称为交换排序法,是由观察水中冒泡变化构思而成,气泡随着水深压力而改变.气泡在水底时,水压最大,气泡最小,而气泡慢慢浮上水面时,气泡所受压力最小,体积慢慢变大.冒泡排序比较方式是从第一个元素开... 查看详情

python数据结构与算法之排序(冒泡,选择,插入)(代码片段)

目录数据结构与算法之排序(冒泡,选择,插入)为什么学习数据结构与算法:数据结构与算法:算法:数据结构冒泡排序法选择排序法插入排序法数据结构与算法之排序(冒泡,选择,插入)为什么学习数据结构与算法:计算机重要的几门课:1.... 查看详情

算法之旅|冒泡排序法

冒泡排序法HTML5学堂-码匠:本期继续走入算法——冒泡排序法。冒泡排序算法相对简单,容易上手,稳定性也比较高,算是一种较好理解的算法,也是面试官高频提问的算法之一。Tips:关于“算法”及“排序”的基础知识,在此... 查看详情

冒泡法排序

  最近在面试应届生,出了几道简单的面试题,冒泡法排序就是其中之一。很多人觉得冒泡简单,就疏忽了。网上搜了下,也流传着很多错误的写法。自己手写了一遍,也算是复习吧。  C++代码如下:#include"stdafx.h"/***********... 查看详情

算法之旅|冒泡排序法

HTML5学堂-码匠:本期继续走入算法——冒泡排序法。冒泡排序算法相对简单,容易上手,稳定性也比较高,算是一种较好理解的算法,也是面试官高频提问的算法之一。Tips:关于“算法”及“排序”的基础知识,在此前“选择排... 查看详情

java学习的第五天:java的内存分析,java数组,冒泡排序法,稀疏数组,面向对象,(代码片段)

 Java的内存分析:   在Java程序中,主要就是有栈,堆,以及方法区,       而一个Java程序的运行,也是先由栈到堆的一个进行过程;    #  数组  数组的定义... 查看详情

冒泡法排序

/*------------------------------------冒泡法排序的基本思路------------------------------------ *1:拿数组的第一个元素intTest[0]的值循环与剩余的元素比较,把最大的值与intTest[0]交换值,然后剩余的元素依次比较 ,即可得到从大到小排... 查看详情

冒泡法(代码片段)

冒泡法标签(空格分隔):python-排序算法冒泡法介绍三大基础排序算法之一冒泡法属于交换排序两两比较大小,交换位置。结果分为升序和降序排序时间复杂度n*(n-i-1)=n**2代码实现lst=[5,6,7,8,9,10,11,12,15,14]#待排序列表length=len(lst)#长... 查看详情

冒泡排序法--忙碌而有序的日子(代码片段)

今天是周二,是我们一周中课最多的一天,还有早晚自习。在忙碌中上了一天课之后,晚上回到宿舍还是坚持的学习了代码知识,很充实;下面先来看代码#include<stdio.h>#defineN5intmain()inti,j,temp;intnums[N]=98,66,34,102,9;for(i=0;i<N-1;... 查看详情

冒泡排序法

//从小到大排序-冒泡排序法voidsortArr(intarr[],intnum){  inti,j;  intmax;  for(i=0;i<num;i++)  {    for(j=0;j<num-i-1;j++)    {        if(arr[j]>arr[j+1])      {        max=arr[j];        a... 查看详情

c#各种内部排序方法的实现(直接插入排序希尔排序冒泡排序快速排序直接选择排序堆排序归并排序基数排序)(代码片段)

...种内部排序方法的实现(直接插入排序、希尔排序、冒泡排序、快速排序、直接选择排序、堆排序、归并排序、基数排序)以下代码为我在学习数据结构时自己敲出来的,除了主函数中的代码外没有做其他的测试࿰... 查看详情

数组冒泡排序选择排序二分查找法

1数组高级冒泡排序原理图解【掌握】画图演示需求:数组元素:{24,69,80,57,13}请对数组元素进行排序。冒泡排序相邻元素两两比较,大的往后放,第一次完毕,最大值出现在了最大索引处2数组高级冒泡排序代码实现【掌握】案例... 查看详情

java冒泡排序法

...博客之中,总结了排序的效率的问题,基本上(不说死)冒泡<选择<插入<快速(快速排序法的效率最高)冒泡排序法: 概念:冒泡排序(BubbleSort),是一种计算机科学领 查看详情