Go语言实现选择法排序实例_Golang

本文实例讲述了Go语言实现选择法排序的方法。分享给大家供大家参考。具体实现方法如下:

复制代码 代码如下:

package main
import "fmt"
func select_sort(a []int) {
 len := len(a)
 for i:=0; i < len-1; i++ {
  k := i
  j:= i + 1  
  for ; j < len; j++ {
   if a[j] < a[k] { k = j }
  }
  if k != i {
   a[i], a[k] = a[k], a[i]
  }
 }
}

func print_array(a []int) {
 for i := 0; i < len(a) - 1; i++ {
  fmt.Printf("%d, ", a[i])
 }
 fmt.Print(a[len(a)-1])
}

func main() {
 a := []int{1, 8, 5, 9, 4, 3, 6, 6}
 print_array(a)
 fmt.Printf("\n")
 select_sort(a)
 print_array(a)
}

输入:

1, 8, 5, 9, 4, 3, 6, 6

输出:

1, 3, 4, 5, 6, 6, 8, 9

希望本文所述对大家的Go语言程序设计有所帮助。

时间: 2024-11-08 22:26:07

Go语言实现选择法排序实例_Golang的相关文章

c语言-C语言选择法排序函数的实现问题

问题描述 C语言选择法排序函数的实现问题 我在看C语言程序设计是遇到一个问题,用选择法对数组中的5个整数按由小到大排序 #include int main() { void sort(int array[],int n); int a[5],i; printf("Please input 5 numbers:n"); for(i=0;i<5;i++) scanf("%d",&a[i]); sort(a,5); printf("the sort

随机产生一组数组,然后用选择法排序

问题描述 要求输入数组的大小可以弄过n来控制,例如n=10,数组就可以随机产生10个数,n=20,就可以产生20个,以此类推.然后用随机产生的数组用选择法排序,帮我改改程序,看看哪里不对,谢谢啦:importjava.io.*;importjava.util.Arrays;importjava.util.Random;publicclassSelection{publicstaticvoidmain(Stringagrs[])throwsIOException{Stringnumber;inta

Go语言实现的web爬虫实例_Golang

本文实例讲述了Go语言实现的web爬虫方法.分享给大家供大家参考.具体分析如下: 这里使用 Go 的并发特性来并行执行 web 爬虫. 修改 Crawl 函数来并行的抓取 URLs,并且保证不重复. 复制代码 代码如下: package main import (     "fmt" ) type Fetcher interface {         // Fetch 返回 URL 的 body 内容,并且将在这个页面上找到的 URL 放到一个 slice 中.     Fetch(

Go语言的管道Channel用法实例_Golang

本文实例讲述了Go语言的管道Channel用法.分享给大家供大家参考.具体分析如下: channel 是有类型的管道,可以用 channel 操作符 <- 对其发送或者接收值. ch <- v // 将 v 送入 channel ch. v := <-ch // 从 ch 接收,并且赋值给 v. ("箭头"就是数据流的方向.) 和 map 与 slice 一样,channel 使用前必须创建: ch := make(chan int) 默认情况下,在另一端准备好之前,

Go语言轻量级线程Goroutine用法实例_Golang

本文实例讲述了Go语言轻量级线程Goroutine用法.分享给大家供大家参考.具体如下: goroutine 是由 Go 运行时环境管理的轻量级线程. go f(x, y, z) 开启一个新的 goroutine 执行 f(x, y, z) f,x,y 和 z 是当前 goroutine 中定义的,但是在新的 goroutine 中运行 f. goroutine 在相同的地址空间中运行,因此访问共享内存必须进行同步. sync 提供了这种可能,不过在 Go 中并不经常用到,因为有其他的办法.(以

go语言里包的用法实例_Golang

本文实例讲述了go语言里包的用法.分享给大家供大家参考.具体分析如下: 每个 Go 程序都是由包组成的. 程序运行的入口是包 main. 这个程序使用并导入了包 "fmt" 和 "math". 按照惯例,包名与导入路径的最后一个目录一致. 复制代码 代码如下: package main import (  "fmt"  "math" ) func main() {  fmt.Println("Happy",

go语言版的ip2long函数实例_Golang

本文实例讲述了go语言版的ip2long函数.分享给大家供大家参考.具体分析如下: 这里介绍的go语言版的ip2long 函数不会对 IP 的合法性进行校验. 复制代码 代码如下: // 注意: 该函数不会对 IP 的合法性进行校验 func Ip2Long(ip string) (ips string) {     var ip_pieces = strings.Split(ip, ".")  ip_1, _ := strconv.ParseInt(ip_pieces[0], 10,

Go语言实现AzDG可逆加密算法实例_Golang

本文实例讲述了Go语言实现AzDG可逆加密算法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package main import (  "fmt"  "crypto/md5"  "encoding/base64"  "time" ) var cipher = "密鑰" var h = md5.New() func cipherEncode(sourceText string) stri

Windows下使用go语言写程序安装配置实例_Golang

linux下,google的go语言安装起来很方便,用起来也很爽,几行代码就可以实现很强大的功能. 现在的问题是我想在windows下玩-- 其实windows下也不麻烦,具体见下文. 一.安装go语言:1.安装MinGW(https://bitbucket.org/jpoirier/go_mingw/downloads) 2.下载源码 进入C:\MinGW,双击mintty开启终端窗口: 执行"hg clone -u release https://go.googlecode.com/hg/