LoginSignup
0
0

More than 5 years have passed since last update.

なぜかバブルソートでハマったのでメモ

Posted at

概要

隣り合う要素を交換して昇順に並び変えるソートアルゴリズム

翻訳

実装上は、交換が1回でも発生すれば再度全要素を調査。
1回も交換が発生しなければ終了。

実装(Go)

bubblesort
package main

import "fmt"

func bubblesort(list []int) []int {
    flag := true
    for flag {
        flag = false
        for i := 0; i < len(list)-1; i++ {
            if list[i] > list[i+1] {
                list[i], list[i+1] = list[i+1], list[i]
                flag = true
            }
        }
    }
    return list
}

func main() {
    list := []int{6, 3, 4, 7, 2, 1, 5}
    res := bubblesort(list)
    fmt.Println(res) // [1 2 3 4 5 6 7]
}

まとめ

いつでも出来ると思っているアルゴリズムでハマるとすごくつらい気持ちになる・・・

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0