zoukankan      html  css  js  c++  java
  • 循环嵌套和选择排序(通过for 实现算法)

    循环嵌套

    双层循环 打印矩阵

     1 //打印一个10*10的 **
     2 package main
     3 
     4 import "fmt"
     5 
     6 func main(){
     7 
     8     //把第一个for循环,看成一行语句,然后在打印10次 一行**** 就是矩阵了
     9     for j :=0;j<10;j++{
    10 
    11         //第一个循环是打印出了一行* * * * * * * * * *
    12         for i:=0;i<10;i++{
    13             fmt.Print("* ")  //Print是不换行.
    14         }
    15         fmt.Println()
    16 
    17     }
    18 
    19 }
    20 /*
    21 * * * * * * * * * * 
    22 * * * * * * * * * * 
    23 * * * * * * * * * * 
    24 * * * * * * * * * * 
    25 * * * * * * * * * * 
    26 * * * * * * * * * * 
    27 * * * * * * * * * * 
    28  */

    选择排序算法

        /*
            选择排序算法,
    就是把乱序的数字,进行从大到小的顺序排列起来。 实现逻辑是 拿第一位数字和后面的数字,进行逐个比较。 如果比自己大就互换位置,如果不大,不做任何处理。 然后在拿第二位数字,同上进行比较互换。
    */
     1 package main
     2 
     3 import "fmt"
     4 
     5 func main() {
     6 
     7     s := []int{5, 1, 2, 3, 4, 6, 7, 8, 9}
     8 
     9     //在这i 定义初始为0了,循环len(s)-1次的 内部那个循环内容。  这个循环的目的是 循环len(s)次循环内的内容。
    10     for i := 0; i < len(s)-1; i++ {
    11 
    12         //遍历第i+1位到末尾,如果某一位比第i位大,就进行互换。   这个循环目的是进行互换。
    13         for j := i + 1; j < len(s); j++ {
    14             if s[j] > s[i] {
    15                 s[i], s[j] = s[j], s[i]
    16             }
    17         }
    18     }
    19 
    20     fmt.Println(s)
    21 }
  • 相关阅读:
    将元素平分成差值最小的两个集合(DP)
    新年趣事之打牌(01背包+唯一路径)
    offer(背包问题、DP)
    整数划分(完全背包)
    饭卡(DP)
    等和的分隔子集(dp)
    LaunchPad(思维)
    The flower(寻找出现m次以上,长度为k的子串)
    Morse code(多模式串匹配)
    平分娃娃(多重背包+二进制枚举)
  • 原文地址:https://www.cnblogs.com/chaoyangxu/p/11865480.html
Copyright © 2011-2022 走看看