|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 糖逗 于 2020-8-17 13:52 编辑
学习视频:https://www.bilibili.com/video/BV17J411G72L?p=20
108-120
- /*
- *数组的查找(1)数组中元素时无序的(2)元素是有序的
- */
- class test06_01{
- public static void main(String[] args){
- //无序则顺序查找
- int[] arr = {1, 4, 3, 2};
- int value = 2;
- for(int i = 0; i < arr.length; i++){
- if(arr[i] == value){
- System.out.println("find!");
- break;
- }
- }
- //有序,二分查找
- int[] arr1 = {1, 3, 4, 6, 7, 9};
- int left = 0, right = arr.length - 1;
- int mid = (left + right)/2;
- while(left < right){
- if(arr[mid] == value){
- System.out.println("找到了!");
- }else if(value > arr[mid]){
- left = mid + 1;
- }else{
- right = mid - 1;
- }
- mid = (left + right) / 2;
- }
- }
- }
- /*
- *排序
- */
- class test06_02{
- public static void main(String[] args){
- //冒泡排序
- int[] arr = {4, 2, 3, 5, 9};
- //相邻元素比较,不符合就交换
- for(int i = 1; i < arr.length; i++){
- for(int j = 0; j < arr.length - i; j++){
- if(arr[j] > arr[j-1]){
- int temp = arr[j];
- arr[j] = arr[j-1];
- arr[j-1] = temp;
- }
- }
- }
- for(int i = 0; i < arr.length; i++){
- System.out.println(arr[i]);
- }
- //直接选择排序
- for(int i = 0; i < arr.length - 1; i++){
- //找出本轮未排序元素中的最小值及其下标
- int min = arr[i];
- int index = i;
- for(int j = i + 1; j < arr.length; j++){
- if(arr[j] < min){
- min = arr[j];
- index = j;
- }
- }
- //看最小值是否在它应该在的位置
- if(index != i){
- int temp = arr[i];
- arr[i] = arr[index];
- arr[index] = temp;
- }
- }
- }
- }
- //数组的维度
- class test06_03{
- public static void main(String[] args){
- //静态初始化
- //(1)
- int[][] scores;
- scores = new int[][]{{23,23,43}, {23,33,22, 43}, {33,22}};
- //(2)
- int[][] score = {{23,23,43}, {23,33,22, 43}, {33,22}};
- //遍历
- for(int i = 0; i < scores.length; i++){
- for(int j = 0 ; j < scores[i].length; j++){
- System.out.print(scores[i][j] + " ");
- }
- System.out.println();
- }
- //动态初始化
- //(1)确定行数
- int[][] arr = new int[4][];
- //(2)确定每一行的列数
- for(int i = 0; i < arr.length; i++){
- arr[i] = new int[5];
- }
- //(3)确定元素值
- for(int i = 0; i < arr.length; i++){
- for(int j = 0; j < arr[i].length; j++){
- arr[i][j] = i + 1;
- }
- }
- //每行的列数相同可以直接
- int[][]arr1 = new int[4][5];
- }
- }
复制代码 |
-
静态初始化存储
-
动态初始化存储
|