常见的几种排序算法

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

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);
    }


目录
相关文章
|
安全 Java API
2023 年 SpringBoot 学习路线(一)
2023 年 SpringBoot 学习路线(一)
|
Shell 网络安全 开发工具
gitbash 安装与使用
gitbash 安装教程
648 1
|
10月前
|
NoSQL Redis
Redis分布式锁如何实现 ?
Redis分布式锁主要依靠一个SETNX指令实现的 , 这条命令的含义就是“SET if Not Exists”,即不存在的时候才会设置值。 只有在key不存在的情况下,将键key的值设置为value。如果key已经存在,则SETNX命令不做任何操作。 这个命令的返回值如下。 ● 命令在设置成功时返回1。 ● 命令在设置失败时返回0。 假设此时有线程A和线程B同时访问临界区代码,假设线程A首先执行了SETNX命令,并返回结果1,继续向下执行。而此时线程B再次执行SETNX命令时,返回的结果为0,则线程B不能继续向下执行。只有当线程A执行DELETE命令将设置的锁状态删除时,线程B才会成功执行S
|
11月前
|
机器学习/深度学习 存储 弹性计算
阿里云gpu云服务器租用价格:最新收费标准及活动价格参考
阿里云gpu云服务器多少钱?A10卡GN7i GPU云服务器32核188G3213.99/1个月起,V100卡GN6v GPU云服务器8核32G3830.00/1个月起,阿里云GPU云服务器是基于GPU应用的计算服务,多适用于视频解码,图形渲染,深度学习,科学计算等应用场景,该产品具有超强计算能力、网络性能出色、购买方式灵活、高性能实例存储( GA1和GN5特有)等特点。下面小编来介绍下阿里云gpu云服务器最新的收费标准及活动价格。
|
11月前
|
监控 数据可视化 搜索推荐
营销人必看:复盘工具选对,效率直接翻倍
营销活动的结束并非任务的终点,而是优化的起点。复盘作为营销闭环中的关键环节,旨在总结经验、发现问题,并为后续策略提供数据支撑和方向指引。本文系统解析了如何高效完成有价值的复盘,涵盖目标回顾、数据拆解、策略优化及团队协作等方面,助力营销能力持续升级。通过明确复盘的核心价值(数据沉淀、策略校准、团队共识),避免常见误区,确保复盘真正推动营销进化,构建可持续的增长飞轮。
699 12
|
Kubernetes 应用服务中间件 nginx
k8s学习--YAML资源清单文件托管服务nginx
k8s学习--YAML资源清单文件托管服务nginx
304 2
k8s学习--YAML资源清单文件托管服务nginx
|
网络协议 算法 安全
【网络协议基础】TCP/IP协议大全
TCP/IP协议是现代计算机网络通信的基础,是互联网及局域网广泛使用的一套协议。TCP/IP协议集采用分层模型,以便于网络的设计、实现和管理。
1256 2
|
NoSQL Redis
Redis性能优化问题之查看 Redis 进程是否发生内存 swap,如何解决
Redis性能优化问题之查看 Redis 进程是否发生内存 swap,如何解决
NotePad++ 使用侧边栏列表替代Tab
NotePad++ 使用侧边栏列表替代Tab
463 0
|
缓存 JavaScript 前端开发
vue组件的类型及特点
vue组件的类型及特点