【Golang】排序与查找

这篇博客主要介绍了Golang中的排序算法,包括内部排序的冒泡排序和快速排序,以及外部排序的概念。此外,还讲解了查找方法,如效率较低的顺序查找和高效的二分查找的详细步骤。
摘要由CSDN通过智能技术生成

*本文笔记参考:b站【尚硅谷】Golang入门到实战教程

1、排序

排序是将一组数据,依指定的顺序进行排列的过程。

  1. 内部排序

    指将需要处理的所有数据都加载到内部存储器中进行排序(包括交换式排序法选择式排序法插入式排序法)。

    1)交换式排序法

    属于内部排序法,是运用数据值比较后,根据判断规则对数据位置进行交换,以达到排序的目的。

    • 冒泡排序法(Bubble sort)

      一共会经过arr.length-1轮比较,每一轮都会确定一个数的位置;

      每一轮的比较次数都会逐渐减少;

      当发现前面的一个数比后面的数大时,就进行交换。

      package main
      ​
      import "fmt"
      ​
      func bubbleSort(arr *[5]int) {
          fmt.Println("排序前的arr:", *arr)
          for i := 1; i < len(arr); i++ { // 一共经过len(arr)-1轮比较
              for j := 0; j < len(arr)-i; j++ { // 每一轮比较len(arr)-i次
                  if (*arr)[j] > (*arr)[j+1] {
                      (*arr)[j], (*arr)[j+1] = (*arr)[j+1], (*arr)[j]
                  }
              }
          }
       
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值