• 排序与查找


    排序与查找

    排序分类

    内部排序

    将要处理的数据都加载到内存中进行排序:交换式排序,选择式排序,插入式排序

    外部排序

    数据过大无法全部加载到内存中,需借助外部存储器:合并排序,直接合并排序

    冒泡排序

    查找

    顺序查找

    直接找值,一般
    index= -1,借助index的值确定有没有找到(推荐)

    二分查找(对有序数组)

    二维数组(五子棋游戏)

    内存存在形式(重点)

    使用方式(类似于一维数组)四种

    		定义时初始化:var arr3 [2][3]int = [2][3]int{{1,2,3},{4,5,6}} 
    		var 数组名 [大小][大小]类型 = [大小][大小]类型{{初值..},{初值..}}
    		var 数组名 [大小][大小]类型 = [...][大小]类型{{初值..},{初值..}}
    		var 数组名 = [大小][大小]类型{{初值..},{初值..}}
    		var 数组名 = [...][大小]类型{{初值..},{初值..}}
    		煮:有一个不能写成..(第二个).
    

    遍历:略

    案例

    ​ 定义二维数组,用于保存三个班,每个班五名同学成绩,
    并求出每个班级平均分、以及所有班级平均分

    package main
    import (
    	"fmt"
    )
    
    func main() {
    
    	/*
    	定义二维数组,用于保存三个班,每个班五名同学成绩,
    	并求出每个班级平均分、以及所有班级平均分
    	*/
    
    	//1.定义一个二维数组
    	var scores [3][5]float64
    	//2.循环的输入成绩
    	for i := 0; i < len(scores); i++ {
    		for j := 0; j < len(scores[i]); j++ {
    			fmt.Printf("请输入第%d班的第%d个学生的成绩
    ", i+1, j+1)
    			fmt.Scanln(&scores[i][j])
    		}
    	}
    
    	//fmt.Println(scores)
    
    	//3.遍历输出成绩后的二维数组,统计平均分
    	totalSum := 0.0 // 定义一个变量,用于累计所有班级的总分
    	for i := 0; i < len(scores); i++ {
    		sum := 0.0 //定义一个变量,用于累计各个班级的总分
    		for j := 0; j < len(scores[i]); j++ {
    			sum += scores[i][j]
    		}
    		totalSum += sum 
    		fmt.Printf("第%d班级的总分为%v , 平均分%v
    ", i+1, sum, 
    			sum / float64(len(scores[i])))
    	}
    
    	fmt.Printf("所有班级的总分为%v , 所有班级平均分%v
    ", 
    		totalSum, totalSum / 15 )
    }
    
  • 相关阅读:
    Centos7 安装Postgres11(更改数据目录)
    将trj保存成.gpx文件方便进行地图匹配(来自徐博士的支援)
    将北京路网OSM文件导入到PostgreSQL + PostGIS 中,并利用osm2pgrouting工具+osmosis工具构建路网Graph拓扑结构
    SQL-时间-UTC-时间戳-日期-年查询在PG+PostGIS
    地理坐标系4326--投影坐标系3857/2436
    基于postgis时空查询-记录而已
    Java 接口
    单例模式
    weblogic启动一闪而过
    oracle存储过程中is和as区别
  • 原文地址:https://www.cnblogs.com/ygjzs/p/11779981.html
Copyright © 2020-2023  润新知