循环嵌套和选择排序(通过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 }

 

 

 

 

 

posted @ 2019-11-15 12:01  chaoyangxu  阅读(634)  评论(0编辑  收藏  举报