三种排序方法(冒泡、选择、插入)

//冒泡排序
class Bubble{
    int temp=0;
    public void sort (int arr1[])
    {
        //控制外层循环
        for(int i=0;i<arr1.length-1;i++)
        {
            //控制内层循环
            for(int j=0;j<arr1.length-1-i;j++)
            {
                if(arr1[j]>arr1[j+1])
                {
                    //更换位置
                    temp=arr1[j];
                    arr1[j]=arr1[j+1];
                    arr1[j+1]=temp;
                }
            }
        }
        //查看排序后的效果
        for(int i=0;i<arr1.length-1;i++)
        {
            System.out.print(arr1[i]+" ");
            
        }
        System.out.println("");
        
        
    }
}

//选择排序
class Select
{
    int temp=0;
    
    
    public void sort(int arr2[])
    {
        for(int i=0;i<arr2.length-1;i++)
        {
            int min=arr2[i];
            int minIndex=i;
            for(int j=i+1;j<arr2.length;j++)
            {
                if(min>arr2[j])
                {
                    //更换最小值和下标
                    min=arr2[j];
                    minIndex=j;
                }
            }
            //更换了最小值和下标   之后     对调位置
            temp=arr2[i];
            arr2[i]=arr2[minIndex];
            arr2[minIndex]=temp;
            
        }
        
        //查看排序后的效果
        for(int i=0;i<arr2.length-1;i++)
        {
            System.out.print(arr2[i]+" ");
        }
        System.out.println("");
    }
    
}

//插入排序法
class Inserting
{
    public void insertValue(int arr3[])
    {
        for(int i=1;i<arr3.length;i++)
        {
            int insertValue=arr3[i];
            
            int index=i-1;
            while(index>=0 && insertValue<arr3[index])
            {
                arr3[index+1]=arr3[index];
                
                index--;
            }
            arr3[index+1]=insertValue;
        }

//查看排序后的效果
        for(int i=0;i<arr3.length-1;i++)
        {
            System.out.print(arr3[i]+" ");
        }
    }
}

时间: 2025-01-10 09:16:07

三种排序方法(冒泡、选择、插入)的相关文章

三种排序方法用java实现

用三种方法实现几个数的排序:冒泡排序,选择排序,调用Java里的库函数 1. 冒泡排序:顾名思义,就是将小的数一步一步往上冒,大的数一个个往下沉,下面是自己写的对冒泡排序的理解,字丑将就看一下吧. 2.选择排序:以从小到大为例,定义一个变量min_inter,用于记录最小值的下标,找到最小的数放在第0位,第二小放在第1位,后面依次. 3.直接调用:Arrays.sort(num3):需要导入import java.util.Arrays: 下面是代码: 1 import java.util.Ar

三种排序方法(c语言)

1 #include "stdio.h" 2 void main() 3 {void read_data(int a[],int n); 4 void write_data(int a[],int n); 5 void comp(int a[],int n); 6 void insert(int a[],int n); 7 void bubble(int a[],int n); 8 int i,n=0,a[200]; 9 printf("请输入元素个数:"); 10

常见的几种排序(冒泡、插入、选择)

package com.hengtian.test; public class SortTest { public static void main(String[] args) { int[] arr = {2,3,1,4,5,7,9,1}; //bubbleSort(arr); //insertSort(arr); selectSort(arr); for(int i:arr){ System.out.println(i); } } /** * 冒泡排序 */ private static

java中各种经典排序(冒泡 选择 插入 希尔等)

1 import java.util.Arrays; 2 3 public class ArraySort { 4 public static void main(String[] args) { 5 int[] arr = { 12, 23, 14, 5, 64, 35, 42 }; 6 System.out.println("排序前:"); 7 System.out.println(Arrays.toString(arr)); 8 // bubbleSort(arr); 9 //

PHP中数组的三种排序方法

说明:找到最大的数,排列到最后面,然后继续找 例: $arr = array(3,5,-1,0,2); for($i=0;$i<count($arr)-1;$i++){ for($j=0;$j<count($arr)-1-$i;$j++){ if($arr[$j]>$arr[$j+1]){ $temp = $arr[$j]; $arr[$j]=$arr[$j+1]; $arr[$j+1]=$temp; } } } 理解: 3,5,-1,0,2 //从第一个数开始往后比较,如果比后面的数大

两种排序方法(选择排序和冒泡排序)

static void Main(string[] args)        {                        var arr = new int[] { 2, 8, 5, 1, 9, 9, 7, 7, 25, 35, 20 };            Sort1(arr);            foreach (var item in arr)            {                Console.WriteLine(item); } var arr2 =

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

目录 数据结构与算法之排序(冒泡,选择,插入) 为什么学习数据结构与算法: 数据结构与算法: 算法: 数据结构 冒泡排序法 选择排序法 插入排序法 数据结构与算法之排序(冒泡,选择,插入) 为什么学习数据结构与算法: 计算机重要的几门课: 1.数据结构和算法 2.网络 3.操作系统 4.计算组成原理 数据结构与算法: 算法: 衡量算法的标准: 时间复杂度:就是程序代码执行的大概次数 小结: 时间复杂度是用来估计算法运行时间的一个式子(单位) 一般来说,时间复杂度高的算法比复杂度低的算法慢 常见的

排序算法-冒泡、插入、归并、希尔、快速、选择--代码总结

冒泡排序代码: #include <iostream> #include <string> using namespace std; template<class ItemType> void bubbleSort(ItemType theArray[], int n) { bool sorted = false; // False when swaps occur int pass = 1; while (!sorted && (pass < n

C# list排序的三种实现方法

原文地址:http://www.cnblogs.com/bradwarden/archive/2012/06/19/2554854.html 首先先介绍一下平时最常用的几种排序方法. 第一种:实体类实现IComparable接口,而且必须实现CompareTo方法 实体类定义如下: 1 class Info:IComparable 2 { 3 public int Id { get; set; } 4 public string Name { get; set; } 5 6 public int