Go中的排序

[TOC]

排序

Go中排序函數(shù)

一維數(shù)組排序

    sort.Ints([]int{5, 4, 3})
    sort.Sort(sort.Reverse(sort.IntSlice{3, 2, 1}))
    sort.Sort(sort.Reverse(sort.IntSlice(cost))) // cost=[]int{3,5,2,1}

二維矩陣排序

2.1 m*n矩陣,按照m升序

// input: [ [5 10] [0 30] [15 20]]    
// output: [[0 30] [5 10] [15 20]]  
sort.Slice(intervals, func(i, j int) bool {
   return intervals[i][0] < intervals[j][0]
})

2.2 m*n矩陣田篇,先按m升序替废,m相同,按n升序

// m*n的矩陣泊柬,先按照m從小到大排序椎镣,遇到m相同的情況,按照n升序
    sort.Slice(input, func(i, j int) bool {
        if input[i][0] == input[j][0] { // 表示m相同兽赁,按照n升序
            return input[i][1] < input[j][1]
        }
        return input[i][0] < input[j][0] // 按照m升序
    })


// m*n的矩陣状答,先按照m從小到大排序,遇到m相同的情況刀崖,按照n升序
func SortAlo1(input [][]int) interface{} {
   sort.Slice(input, func(i, j int) bool {
      if input[i][0] == input[j][0] { // 表示m相同惊科,按照n升序
         return input[i][1] < input[j][1]
      }
      return input[i][0] < input[j][0] // 按照m升序
   })
   return input
}

結(jié)構(gòu)體排序



// =================== 以下方法有點(diǎn)復(fù)雜  ===========
type Node struct {
    dis    int
    worker int
    bike   int
}

type NodeArr []Node

func (arr NodeArr) Len() int {
    return len(arr)
}

func (arr NodeArr) Swap(i, j int) {
    arr[i], arr[j] = arr[j], arr[i]
}

func (arr NodeArr) Less(i, j int) bool {
    if arr[i].dis == arr[j].dis {
        if arr[i].worker == arr[j].worker {
            return arr[i].bike < arr[j].bike
        } else {
            return arr[i].worker < arr[j].worker
        }
    } else {
        return arr[i].dis < arr[j].dis
    }
}

字符串包的使用

func main() {
    fmt.Println("查找子串是否在指定的字符串中")
    fmt.Println(" Contains 函數(shù)的用法")
    fmt.Println(strings.Contains("seafood", "foo")) //true
    fmt.Println(strings.Contains("seafood", "bar")) //false
    fmt.Println(strings.Contains("seafood", ""))    //true
    fmt.Println(strings.Contains("", ""))           //true 這里要特別注意
    fmt.Println(strings.Contains("我是中國(guó)人", "我"))     //true

    fmt.Println("")
    fmt.Println(" ContainsAny 函數(shù)的用法")                    // 查詢字符串中是否包含多個(gè)字符
    fmt.Println(strings.ContainsAny("team", "i"))        // false
    fmt.Println(strings.ContainsAny("failure", "u & i")) // true
    fmt.Println(strings.ContainsAny("foo", ""))          // false
    fmt.Println(strings.ContainsAny("", ""))             // false

    fmt.Println("")
    fmt.Println(" ContainsRune 函數(shù)的用法")
    fmt.Println(strings.ContainsRune("我是中國(guó)", '我')) // true 注意第二個(gè)參數(shù),用的是字符

    fmt.Println("")
    fmt.Println(" Count 函數(shù)的用法")               // 統(tǒng)計(jì)字符串中有多少字符
    fmt.Println(strings.Count("cheese", "e")) // 3
    fmt.Println(strings.Count("five", ""))    // before & after each rune result: 5 , 源碼中有實(shí)現(xiàn)

    fmt.Println("")
    fmt.Println(" EqualFold 函數(shù)的用法")
    fmt.Println(strings.EqualFold("Go", "go")) //大小寫忽略,字符串比較是否相等,忽略大小寫的比較

    fmt.Println("")
    fmt.Println(" Fields 函數(shù)的用法")
    fmt.Println("Fields are: %q", strings.Fields("  foo bar  baz   ")) //["foo" "bar" "baz"] 返回一個(gè)列表  分割字符串

    //相當(dāng)于用函數(shù)做為參數(shù)蒲跨,支持匿名函數(shù)
    for _, record := range []string{" aaa*1892*122", "aaa\taa\t", "124|939|22"} {
        fmt.Println(strings.FieldsFunc(record, func(ch rune) bool {
            switch {
            case ch > '5':
                return true
            }
            return false
        }))
    }

    fmt.Println("")
    fmt.Println(" HasPrefix 函數(shù)的用法")
    fmt.Println(strings.HasPrefix("NLT_abc", "NLT")) //前綴是以NLT開頭的

    fmt.Println("")
    fmt.Println(" HasSuffix 函數(shù)的用法")
    fmt.Println(strings.HasSuffix("NLT_abc", "abc")) //后綴是以NLT開頭的

    fmt.Println("")
    fmt.Println(" Index 函數(shù)的用法")
    fmt.Println(strings.Index("NLT_abc", "abc")) // 返回第一個(gè)匹配字符的位置译断,這里是4
    fmt.Println(strings.Index("NLT_abc", "aaa")) // 在存在返回 -1
    fmt.Println(strings.Index("我是中國(guó)人", "中"))     // 在存在返回 6

    fmt.Println("")
    fmt.Println(" IndexAny 函數(shù)的用法")
    fmt.Println(strings.IndexAny("我是中國(guó)人", "中")) // 在存在返回 6
    fmt.Println(strings.IndexAny("我是中國(guó)人", "和")) // 在存在返回 -1

    fmt.Println("")
    fmt.Println(" Index 函數(shù)的用法")
    fmt.Println(strings.IndexRune("NLT_abc", 'b')) // 返回第一個(gè)匹配字符的位置授翻,這里是4
    fmt.Println(strings.IndexRune("NLT_abc", 's')) // 在存在返回 -1
    fmt.Println(strings.IndexRune("我是中國(guó)人", '中'))   // 在存在返回 6

    fmt.Println("")
    fmt.Println(" Join 函數(shù)的用法")
    s := []string{"foo", "bar", "baz"}
    fmt.Println(strings.Join(s, ", ")) // 返回字符串:foo, bar, baz

    fmt.Println("")
    fmt.Println(" LastIndex 函數(shù)的用法")
    fmt.Println(strings.LastIndex("go gopher", "go")) // 3

    fmt.Println("")
    fmt.Println(" LastIndexAny 函數(shù)的用法")
    fmt.Println(strings.LastIndexAny("go gopher", "go")) // 4
    fmt.Println(strings.LastIndexAny("我是中國(guó)人", "中"))      // 6

    fmt.Println("")
    fmt.Println(" Map 函數(shù)的用法")
    rot13 := func(r rune) rune {
        switch {
        case r >= 'A' && r <= 'Z':
            return 'A' + (r-'A'+13)%26
        case r >= 'a' && r <= 'z':
            return 'a' + (r-'a'+13)%26
        }
        return r
    }
    fmt.Println(strings.Map(rot13, "'Twas brillig and the slithy gopher..."))

    fmt.Println("")
    fmt.Println(" Repeat 函數(shù)的用法")
    fmt.Println("ba" + strings.Repeat("na", 2)) //banana

    fmt.Println("")
    fmt.Println(" Replace 函數(shù)的用法")
    fmt.Println(strings.Replace("oink oink oink", "k", "ky", 2))
    fmt.Println(strings.Replace("oink oink oink", "oink", "moo", -1))

    fmt.Println("")
    fmt.Println(" Split 函數(shù)的用法")
    fmt.Printf("%q\n", strings.Split("a,b,c", ","))
    fmt.Printf("%q\n", strings.Split("a man a plan a canal panama", "a "))
    fmt.Printf("%q\n", strings.Split(" xyz ", ""))
    fmt.Printf("%q\n", strings.Split("", "Bernardo O'Higgins"))

    fmt.Println("")
    fmt.Println(" SplitAfter 函數(shù)的用法")
    fmt.Printf("%q\n", strings.SplitAfter("/home/m_ta/src", "/")) //["/" "home/" "m_ta/" "src"]

    fmt.Println("")
    fmt.Println(" SplitAfterN 函數(shù)的用法")
    fmt.Printf("%q\n", strings.SplitAfterN("/home/m_ta/src", "/", 2))  //["/" "home/m_ta/src"]
    fmt.Printf("%q\n", strings.SplitAfterN("#home#m_ta#src", "#", -1)) //["#" "home#" "m_ta#" "src"]

    fmt.Println("")
    fmt.Println(" SplitN 函數(shù)的用法")
    fmt.Printf("%q\n", strings.SplitN("/home/m_ta/src", "/", 1))

    fmt.Printf("%q\n", strings.SplitN("/home/m_ta/src", "/", 2))  //["" "home/m_ta/src"]
    fmt.Printf("%q\n", strings.SplitN("/home/m_ta/src", "/", -1)) //["" "home" "m_ta" "src"]
    fmt.Printf("%q\n", strings.SplitN("home,m_ta,src", ",", 2))   //["home" "m_ta,src"]

    fmt.Printf("%q\n", strings.SplitN("#home#m_ta#src", "#", -1)) //["/" "home/" "m_ta/" "src"]

    fmt.Println("")
    fmt.Println(" Title 函數(shù)的用法") //這個(gè)函數(shù)或悲,還真不知道有什么用
    fmt.Println(strings.Title("her royal highness"))

    fmt.Println("")
    fmt.Println(" ToLower 函數(shù)的用法")
    fmt.Println(strings.ToLower("Gopher")) //gopher

    fmt.Println("")
    fmt.Println(" ToLowerSpecial 函數(shù)的用法")

    fmt.Println("")
    fmt.Println(" ToTitle 函數(shù)的用法")
    fmt.Println(strings.ToTitle("loud noises"))
    fmt.Println(strings.ToTitle("loud 中國(guó)"))

    fmt.Println("")
    fmt.Println(" Replace 函數(shù)的用法")
    fmt.Println(strings.Replace("ABAACEDF", "A", "a", 2)) // aBaACEDF
    //第四個(gè)參數(shù)小于0,表示所有的都替換堪唐, 可以看下golang的文檔
    fmt.Println(strings.Replace("ABAACEDF", "A", "a", -1)) // aBaaCEDF

    fmt.Println("")
    fmt.Println(" ToUpper 函數(shù)的用法")
    fmt.Println(strings.ToUpper("Gopher")) //GOPHER

    fmt.Println("")
    fmt.Println(" Trim  函數(shù)的用法")
    fmt.Printf("[%q]", strings.Trim(" !!! Achtung !!! ", "! ")) // ["Achtung"]

    fmt.Println("")
    fmt.Println(" TrimLeft 函數(shù)的用法")
    fmt.Printf("[%q]", strings.TrimLeft(" !!! Achtung !!! ", "! ")) // ["Achtung !!! "]

    fmt.Println("")
    fmt.Println(" TrimSpace 函數(shù)的用法")
    fmt.Println(strings.TrimSpace(" \t\n a lone gopher \n\t\r\n")) // a lone gopher

}

Go中Bytes包的使用

func main() {
    // Compare函數(shù):對(duì)比參數(shù)一和參數(shù)二
    // 如果a==b返回0巡语,
    // 如果a<b返回-1;否則返回+1淮菠,nil參數(shù)視為空切片
    fmt.Println("1男公、Compare的使用例子:")
    fmt.Println(bytes.Compare([]byte{1, 3, 4, 5, 5}, []byte{1, 2, 3, 1, 4})) // 結(jié)果為1
    fmt.Println(bytes.Compare([]byte{1, 3, 4, 5, 5}, []byte{1, 3, 4, 5, 5})) // 結(jié)果為0
    fmt.Println(bytes.Compare([]byte{1, 2, 4, 5, 5}, []byte{1, 3, 4, 5, 5})) // 結(jié)果為-1
    fmt.Println(bytes.Compare([]byte{}, []byte{}))                           // 結(jié)果為0

    //Equal函數(shù):判斷兩個(gè)切片的內(nèi)容是否相等,Equal函數(shù)入?yún)⒈仨毷荹]byte類型
    fmt.Println("2、Equal的使用例子:")
    fmt.Println(bytes.Equal([]byte{1, 2, 3, 5}, []byte{1, 2, 3, 5})) // 結(jié)果為true

    //EqualFold函數(shù):判斷兩個(gè)utf-8編碼切片是否相同
    fmt.Println("3合陵、EqualFold的使用例子:")
    fmt.Println(bytes.EqualFold([]byte{'a', 'b', 'c', 'd', 'e'}, []byte{'a', 'b', 'c', 'f', 'e'})) // 結(jié)果為false
    fmt.Println(bytes.EqualFold([]byte{'a', 'b', 'c', 'd', 'e'}, []byte{'a', 'b', 'c', 'd', 'e'})) // 結(jié)果為true

    //Runes函數(shù):返回與參數(shù)等價(jià)的[]rune切片
    fmt.Println("4枢赔、Runes的使用例子:")
    fmt.Println(bytes.Runes([]byte{'a', 'b', 'c', 'd', 'e'})) // [97 98 99 100 101]

    //HasPrefix函數(shù):判斷參數(shù)一是否有前綴切片參數(shù)二
    fmt.Println("5澄阳、HasPrefix的使用例子:")
    fmt.Println(bytes.HasPrefix([]byte{'a', 'b', 'c', 'd', 'e'}, []byte{'a'})) // 結(jié)果為true

    //HasSuffix函數(shù):判斷參數(shù)一是否有后綴切片er
    fmt.Println("6、HasSuffix的使用例子:")
    fmt.Println(bytes.HasSuffix([]byte{'a', 'b', 'c', 'd', 'e'}, []byte{'c'})) // 結(jié)果為false
    fmt.Println(bytes.HasSuffix([]byte{'a', 'b', 'c', 'd', 'e'}, []byte{'e'})) // 結(jié)果為true

    //Contains函數(shù):判斷參數(shù)一中是否包含參數(shù)二切片
    fmt.Println("7踏拜、Contains的使用例子:")
    fmt.Println(bytes.Contains([]byte{'a', 'b', 'c', 'd', 'e'}, []byte{'d'})) // 結(jié)果為true

    //Count:計(jì)算參數(shù)一中包含多少個(gè)參數(shù)二切片
    fmt.Println("8碎赢、Count的使用例子:")
    fmt.Println(bytes.Count([]byte{'a', 'b', 'c', 'd', 'e', 'd'}, []byte{'d'})) // 結(jié)果為2

    //Index:計(jì)算參數(shù)二第一次出現(xiàn)在參數(shù)一的位置,不存在返回-1
    fmt.Println("8速梗、Index的使用例子:")
    fmt.Println(bytes.Index([]byte{'a', 'b', 'c', 'd', 'e'}, []byte{'d'})) // 結(jié)果為3

    //IndexByte:字符參數(shù)二在參數(shù)一中第一次出現(xiàn)的位置肮塞,不存在返回-1
    fmt.Println("9、IndexByte的使用例子:")
    fmt.Println(bytes.IndexByte([]byte{'a', 'b', 'c', 'd', 'e'}, byte('c'))) // 結(jié)果為2

    //IndexRune:rune類型utf-8的參數(shù)二在參數(shù)一中第一次出現(xiàn)的位置
    fmt.Println("10姻锁、IndexRune的使用例子:")
    fmt.Println(bytes.IndexRune([]byte("我來自中國(guó)"), rune('我'))) // 結(jié)果為0

    //IndexAny:參數(shù)二字符串中任意一個(gè)utf-8字符出現(xiàn)在參數(shù)一中的位置
    fmt.Println("11枕赵、IndexAny的使用例子:")
    fmt.Println(bytes.IndexAny([]byte("我來自中國(guó)"), "來國(guó)")) // 結(jié)果為3

    //LastIndex:參數(shù)二最后一次出現(xiàn)在參數(shù)一中的位置
    fmt.Println("12、LastIndex的使用例子:")
    fmt.Println(bytes.LastIndex([]byte("hahahahaxswl"), []byte("a"))) // 結(jié)果為7

    //LastIndexAny:參數(shù)二中任意一utf-8字符在參數(shù)一中最后一次出現(xiàn)的位置
    fmt.Println("13位隶、LastIndexAny的使用例子:")
    fmt.Println(bytes.LastIndexAny([]byte("我來自中國(guó)"), "來國(guó)")) // 結(jié)果為12

    //Title:將參數(shù)中的單詞首字母都改成標(biāo)題格式然后返回
    fmt.Println("14拷窜、Title的使用例子:")
    fmt.Println(string(bytes.Title([]byte{'a', 'b', 'c', 'd', 'e'}))) // 結(jié)果為Abcde

    //ToLower將參數(shù)中的所有字母都轉(zhuǎn)換成小寫
    fmt.Println("15、ToLower的使用例子:")
    fmt.Println(string(bytes.ToLower(bytes.Title([]byte{'A', 'b', 'C', 'd', 'e'})))) // 結(jié)果為abcde

    //ToUpper:將參數(shù)中的字母全轉(zhuǎn)換成大寫
    fmt.Println("16钓试、ToUpper的使用例子:")
    fmt.Println(string(bytes.ToUpper([]byte{'A', 'b', 'C', 'd', 'e'}))) // 結(jié)果為ABCDE

    //ToTitle:將參數(shù)中所有的字母都轉(zhuǎn)換成對(duì)應(yīng)的標(biāo)題版本
    fmt.Println("17装黑、ToTitle的使用例子:")
    fmt.Println(string(bytes.ToTitle([]byte{'A', 'b', 'C', 'd', 'e'}))) // 結(jié)果為ABCDE

    //Repeat:拷貝參數(shù)二個(gè)參數(shù)一然后組成一個(gè)新的切片
    fmt.Println("18、Repeat的使用例子:")
    fmt.Println(string(bytes.Repeat([]byte{'h', 'e', 'l', 'l', 'o'}, 3))) // 結(jié)果為 hellohellohello

    /*Replace:切換切片中的內(nèi)容弓熏,返回將s中前n個(gè)不重疊old切片序列都替換為new的新的切片拷貝
    恋谭,如果n<0會(huì)替換所有old子切片
    方法源碼:func Replace(s, old, new []byte, n int) []byte
    */
    fmt.Println("19、Replace的使用例子:")
    fmt.Println(string(bytes.Replace([]byte{'h', 'e', 'l', 'l', 'o'}, []byte{'l'}, []byte{'c'}, 1))) // 結(jié)果為 heclo

    //Trim:將參數(shù)一前后端包含參數(shù)二切去
    fmt.Println("20挽鞠、Trim的使用例子:")
    fmt.Println(string(bytes.Trim([]byte{'h', 'e', 'l', 'l', 'h'}, "h"))) //結(jié)果為ell

    //TrimSpace:返回將參數(shù)前后端空白都去掉的子切片
    fmt.Println("21疚颊、trmSpace的使用例子:")
    fmt.Println(string([]byte(" hello World ")))                  // 結(jié)果 hello World
    fmt.Println(string(bytes.TrimSpace([]byte(" hello World ")))) // 結(jié)果為 hello World

    //TrimLeft:將參數(shù)一切片前端滿足參數(shù)二的部分切除返回一個(gè)新的子切片
    fmt.Println("22、TrimLeft的使用例子:")
    fmt.Println(string(bytes.TrimLeft([]byte("hello World"), "he"))) // 結(jié)果為 llo World

    //TrimPrefix:返回去除參數(shù)一可能的前綴參數(shù)二的子切片
    fmt.Println("23信认、TrimPrefix的使用例子:")
    fmt.Println(string(bytes.TrimPrefix([]byte("hello World"), []byte("hello")))) // 結(jié)果為  World(word前有空格)

    //TrimRight:將參數(shù)一后端包含參數(shù)二的部分刪除并返回新切片
    fmt.Println("24材义、TrimRight的使用例子:")
    fmt.Println(string(bytes.TrimRight([]byte("hello World"), "ld"))) // hello Wor

    //TrimSuffix:返回去除參數(shù)一可能的后綴參數(shù)二的子切片
    fmt.Println("25、TrimSuffix的使用例子:")
    fmt.Println(string(bytes.TrimSuffix([]byte("hello World"), []byte("ld")))) // hello Wor

    //Fields:返回將字符串按照空白分割成多個(gè)子切片
    fmt.Println("26嫁赏、Fields的使用例子:")
    fmt.Println(bytes.Fields([]byte("hello World"))) // [[104 101 108 108 111] [87 111 114 108 100]]

    //Split:去掉參數(shù)一中出現(xiàn)的參數(shù)二的方式進(jìn)行分割其掂,返回一個(gè)二維切片
    fmt.Println("27、Split的使用例子:")
    fmt.Println(bytes.Split([]byte("hello&World"), []byte("&"))) // [[104 101 108 108 111] [87 111 114 108 100]]

    //SplitAfter:用從參數(shù)一出現(xiàn)的參數(shù)二后面進(jìn)行分割
    fmt.Println("28潦蝇、SplitAfter的使用例子:")
    fmt.Println(bytes.SplitAfter([]byte("hello&wor&ld"), []byte("&"))) // [[104 101 108 108 111 38] [119 111 114 38] [108 100]]

    //Join將參數(shù)一切片鏈接成一個(gè)切片款熬,中間用參數(shù)二隔開
    fmt.Println("29、Join的使用方法")
    fmt.Println(string(bytes.Join([][]byte{{'h', 'e', 'l', 'l', 'o'}, {'w', 'o', 'r', 'l', 'd'}}, []byte(" ")))) // hello world
}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末攘乒,一起剝皮案震驚了整個(gè)濱河市贤牛,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌则酝,老刑警劉巖殉簸,帶你破解...
    沈念sama閱讀 217,907評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡般卑,警方通過查閱死者的電腦和手機(jī)武鲁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蝠检,“玉大人洞坑,你說我怎么就攤上這事∮剩” “怎么了迟杂?”我有些...
    開封第一講書人閱讀 164,298評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)本慕。 經(jīng)常有香客問我排拷,道長(zhǎng),這世上最難降的妖魔是什么锅尘? 我笑而不...
    開封第一講書人閱讀 58,586評(píng)論 1 293
  • 正文 為了忘掉前任监氢,我火速辦了婚禮,結(jié)果婚禮上藤违,老公的妹妹穿的比我還像新娘浪腐。我一直安慰自己,他們只是感情好顿乒,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,633評(píng)論 6 392
  • 文/花漫 我一把揭開白布议街。 她就那樣靜靜地躺著,像睡著了一般璧榄。 火紅的嫁衣襯著肌膚如雪特漩。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,488評(píng)論 1 302
  • 那天骨杂,我揣著相機(jī)與錄音涂身,去河邊找鬼。 笑死搓蚪,一個(gè)胖子當(dāng)著我的面吹牛蛤售,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播妒潭,決...
    沈念sama閱讀 40,275評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼悴能,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了杜耙?” 一聲冷哼從身側(cè)響起搜骡,我...
    開封第一講書人閱讀 39,176評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤拂盯,失蹤者是張志新(化名)和其女友劉穎佑女,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,619評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡团驱,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,819評(píng)論 3 336
  • 正文 我和宋清朗相戀三年摸吠,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片嚎花。...
    茶點(diǎn)故事閱讀 39,932評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡寸痢,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出紊选,到底是詐尸還是另有隱情啼止,我是刑警寧澤,帶...
    沈念sama閱讀 35,655評(píng)論 5 346
  • 正文 年R本政府宣布兵罢,位于F島的核電站献烦,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏卖词。R本人自食惡果不足惜巩那,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,265評(píng)論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望此蜈。 院中可真熱鬧即横,春花似錦、人聲如沸裆赵。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽战授。三九已至舔庶,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間陈醒,已是汗流浹背惕橙。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留钉跷,地道東北人弥鹦。 一個(gè)月前我還...
    沈念sama閱讀 48,095評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像爷辙,于是被迫代替她去往敵國(guó)和親彬坏。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,884評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 用兩張圖告訴你膝晾,為什么你的 App 會(huì)卡頓? - Android - 掘金 Cover 有什么料栓始? 從這篇文章中你...
    hw1212閱讀 12,723評(píng)論 2 59
  • 排序,搜索和計(jì)數(shù) 1 排序 .2 搜索 3 計(jì)數(shù) 集合操作 1 構(gòu)造集合 2 布爾運(yùn)算 2.1 求兩個(gè)集合的交集:...
    58506fd3fbed閱讀 327評(píng)論 0 0
  • 1 前言 2 排序基礎(chǔ)2.1 選擇排序2.2 插入排序 3 高級(jí)排序算法3.1 歸并排序3.1.1 插入排序與歸并...
    憩在河岸上的魚丶閱讀 445評(píng)論 0 2
  • 在兩位亦師亦友的朋友的幫助下血当,準(zhǔn)備從零開始學(xué)習(xí)算法幻赚,第一課是從最簡(jiǎn)單的排序算法開始學(xué)習(xí)禀忆。本篇文章中的內(nèi)容是看了別人...
    Aiewing閱讀 311評(píng)論 0 0
  • 排序算法類別 算法分類 十種常見排序算法可以分為兩大類: 比較類排序:通過比較來決定元素間的相對(duì)次序,由于其時(shí)間復(fù)...
    JackHCC閱讀 180評(píng)論 0 0