日常作业2019.1.5

作业

 

package com.job1_3;

import java.util.Scanner;
/*
 *     冒泡排序*插入新值到数组中间按从小到大排序
 * @author Administrator
 *    2019.1.4
 */
public class BubbleSort {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        int[] nums=new int[8];
        nums[0]=12;
        nums[1]=32;
        nums[2]=98;
        nums[3]=56;
        nums[4]=46;
        nums[5]=75;
        nums[6]=81;
        for(int i=0;i<nums.length-1;i++) {        //冒泡排序
            for(int j=nums.length-1;j>0;j--) {
                if(nums[j-1]<nums[j]) {
                    int temp=nums[j-1];
                    nums[j-1]=nums[j];
                    nums[j]=temp;
                }
            }
        }
        for(int num:nums) {
            System.out.print(num+"\t");            //输出排序后
        }
        System.out.println();
        System.out.println("请输入一个整数,插入数组里,按顺序排列");
        int number=sc.nextInt();                //要插入的数值

        int index=nums.length-1;                //默认的下标
        for(int i=0;i<nums.length-1;i++) {        
            if(nums[i]<number) {                //比较大小找出下标
                index=i;
                break;
            }
        }
        System.out.println("这个数的下标是:"+index);
        for(int j=nums.length-1;j>index;j--) {    //把数组往后推,留出空位插入新值
            nums[j]=nums[j-1];
        }
        nums[index]=number;                        //要插入的位置替换数值
        for(int num:nums) {
            System.out.print(num+"\t");
        }
    }
}

 

运行

1、

 

2、

 

3、

 

1、数组有何作用?

作用是把同类的值放到一起,不用新建更多的变量,减少不必要的操作,简化成一个变量数组。如果有10000个值不可能定义10000个变量。
2、使用数组有哪些步骤?

定义数组、数组元素的表示与赋值、数值的初始化、遍历数组

3、如何遍历一个数组?

1、创建整型数组、将循环变量i作为数组下标,循环接收键盘输入、并为数组元素赋值

2、初始化整型数组、一循环变量i为数组下标,循环输出数组元素

3、创建整型数组,使用增强型的for循环输出数组元素
4、简述求最大值的实现思路是怎么样的?

数组求最大值的思路:第一个数和第二个数比,大的值往后;第二个值和第三个值比,大的值往后。以此类推,直到最大值求出来,第二轮继续求最大值,直到所有最大值求出来。

for(int i=0;i<nums.length-1;i++){

  for(int j=0;j<nums.length-i-1;j++){

    if(nums[i]>nums[i+1]){

      int temp=nums[i];

      nums[i]=nums[i+1];

      nums[i+1]=temp;

    }

  }

}

转载于:https://www.cnblogs.com/zzh630/p/10223136.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值