特别提示:在java中使用排序可以选择java包中的java.util.Arrays工具包,提供各种排序方法

小编在这儿使用的冒泡和选择两种经典算法,也是java面试时的常见算法

代码段

package Absttact;
import java.util.Scanner;
//定义数组存放学生成绩
//利用冒泡排序进行排序
public class Arraystest {
	//创建一维数组
	 int [] gread ;
	 //设置数组大小
	 public  Arraystest() {
		 System.out.println("输入数组大小");
		 Scanner sc= new Scanner(System.in);
		 int a= sc.nextInt();
		 gread =new int [a];
		 System.out.println("数组大小初始化成功");
	 }
	 //设置数据个数输入数据
	 public void input( ) {
		 System.out.println("===============================");
		 System.out.println("输入数组个数");
		 Scanner sc= new Scanner(System.in);
		 int a= sc.nextInt();
		 if(a>gread.length) {
			 System.out.println("数据太多,存放不下");
			 return ;
		 }
		 else {
			 for (int i=1;i<=a;i++)
			 {
				 System.out.println("输入第" +i +"个数");
				 gread[i-1]=sc.nextInt();
				 //对于数组第一个数据是gread[0];
			 }
		 }
	 }
	 //冒泡排序
	 public void sort() {
		  for (int i=0;i<gread.length;i++) {
				
			  for(int j =1;j<gread.length-1;j++)
			  if(gread [j] >gread[j+1])
			  {
				 int  t=gread[j];
				 gread[j]=gread[j+1];
				 gread[j+1]=t;
			  }
		  }
	 }
	//选择排序法
	 public void selectsort() {
		 for(int i=0;i<gread.length-1;i++)
		 {
			 int min =i;//建设最小值位置为i
			 for(int j=i+1;j<gread.length;j++)
				 if(gread[i]>gread[j])
					 min=j;//最小值位置给j
			 if(min!=i) {
				 int t =gread[min];
				 gread[min]=gread[i];
				 gread[i]=t;
			 }
		 }
		 
	 }
	 //输出
	 public void output()
	 {
		 System.out.println("===============================");
		  for (int i=0;i<gread.length;i++) {
			  System.out.println(gread[i]);
	      
		  }
		  System.out.println("===============================");
	 }
	 
	 public static void main(String [] agrs) {
		 
		 Arraystest a=new Arraystest();
		 a.input();
		 System.out.println("排序前");
		 a.output();
		// a.sort();
		 a.selectsort();
		 System.out.println("排序后");
		 a.output();
	 }
}

测试结果

 友友们可以试着敲一敲,学习一下这两种简单的 算法!

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐