课程名称: Java 程序设计 成绩评定:
实验项目名称:实验 6:算法设计 指导教师:
学生姓名: 学号: 专业班级:
实验项目类型: 基础 实验地点: 实验时间:
一、实验目的与要求:
1、掌握常用的查找算法
2、掌握常用的排序算法
3、掌握递归的应用
二、实验内容:
1、排序编程题
已有一个升序排列的整数数组(含 20 个整数),要求从键盘输入一个整数后,
将该数插入数组,并保持升序,输出该数组的数值验证程序的正确性。
import java.util.Scanner;
public class InsertApp {
public static void main(String[] args) {
int[] r={5,7,8,11,13,15,16,18,21,22,25,27,29,31,32,33,36,39,43,44};
Scanner sc=new Scanner(System.in);
int t=sc.nextInt();
sc.close();
int s[]=new int[21];
System.arraycopy(r,0,s,0,r.length);
s[20]=t;
System.out.println("未排序的数组为:");
for(int i=0;i<21;i++)
{System.out.printf("%d ",s[i]);}
System.out.printf("");
int i,j,temp;
for(i=1;i<s.length;i++)
{temp=s[i];j=i-1;
while(j>=0&&s[j]>temp)
{s[j+1]=s[j];
j--;}
s[j+1]=temp;}
System.out.println("排好序的数组为:");
for(i=0;i<21;i++)
{System.out.printf("%d ",s[i]);}}
}
输入 23,输出: