常见的几种排序算法

简介: 常见的几种排序算法

1.冒泡排序

int a[10] = {4,3,7,6,0,9,8,1,2,5};
  int n = 10;
  for(int i=0;i<n-1;i++){ //趟数
    for (int j=0;j<n-i-1;j++){ //对数据进行排序
      if(a[j]>a[j+1]){
        int t = a[j];
        a[j] = a[j+1];
        a[j+1] = t;
      }
    }
  }

2.选择排序

int a[10] = {4,3,7,6,0,9,8,1,2,5};
  int n = 10;
  int min = 0;
  for(int i=0;i<n-1;i++){
    min = i;
    for (int j=i+1;j<n;j++){
      if(a[j]<a[min]){
        min = j;
      }
    
    }
    if(min!=i){
        int t = a[min];
        a[min] = a[i];
        a[i] = t;
      }
  }
 
 
  for (int m = 0;m<10;m++){
    printf("%d",a[m]);
  }

3.插入排序

int a[10] = {4,3,7,6,0,9,8,1,2,5};
  int n = 10;
  int min = 0;
  
  for (int i=1;i<10;i++){
    int temp = a[i];  //从第一处开始 
    for(int j=i;j>0&&a[j-1]>temp;j--){ //向前插入
      a[j]=a[j-1]; //元素后移
    }
    a[j] = temp;
  }
 
 
  for (int m = 0;m<10;m++){
    printf("%d",a[m]);
  }

4.快速排序:

public void quickSort(int arr[],int start,int end){
        if(start > end)
            return;
        int temp = arr[start];
        int i=start;
        int j= end;
        while (i!=j){
            while (arr[j]>=temp && j>i)
                j--;
            while (arr[i]<=temp && j>i)
                i++;
            if(j>i){
                int t = arr[j];
                arr[j]=arr[i];
                arr[i]=t;
            }
        }
        arr[start] = arr[i];
        arr[i]=  temp;
        quickSort(arr,start,i-1);
        quickSort(arr,i+1,end);
    }


目录
相关文章
|
4天前
|
搜索推荐 C#
C#实现选择排序算法
C#实现选择排序算法
18 2
|
4天前
|
存储 搜索推荐 算法
常见排序算法实现(一)
常见排序算法实现(一)
36 0
|
6月前
|
搜索推荐 算法
14 排序算法
14 排序算法
16 0
|
7月前
|
搜索推荐 Java C++
简单介绍排序算法
简单介绍排序算法
20 0
|
10月前
|
算法 搜索推荐 Java
常见排序算法详解(1)
前言 排序是我们在日常生活和工作中常见的一种操作。在计算机科学中,排序算法就是将一串或一组数据按照特定的顺序进行排列的算法。这些顺序可能是数字的升序或降序,也可能是字母或字词的字母顺序等。我们将探讨几种不同的排序算法,包括他们的原理、优缺点以及代码实现。
86 0
|
搜索推荐 Java
常见的10种排序算法
常见的10种排序算法
78 0
|
算法 搜索推荐 C++
|
搜索推荐 算法 测试技术
|
搜索推荐 算法
|
搜索推荐
常见的排序算法
在实际应用中,我们经常遇到需要将大量数据进行排序的问题,下边博主将带领大家认识常见的排序算法,相信通过这一篇文章让你能够掌握基本的排序算法,这些排序也是在面试笔试中的高频考点,让我们读完这篇文章,从此不做迷糊人!
74 0
常见的排序算法