作业
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;
}
}
}