Java题,有数组 int[] arr={5.2.3.4.9.8.7.1} 请编写一段程序为该数组进行排序,

Java题,有数组int[]arr={5.2.3.4.9.8.7.1}请编写一段程序为该数组进行排序,要求结果为升序... Java题,有数组 int[] arr={5.2.3.4.9.8.7.1}
请编写一段程序为该数组进行排序,要求结果为升序
展开
 我来答
仙戈雅3n
2017-03-21 · TA获得超过5790个赞
知道大有可为答主
回答量:2398
采纳率:75%
帮助的人:893万
展开全部
	public static void main(String[] args) throws Exception {
 int[] arr={5,2,3,4,9,8,7,1};
 insertSort(arr);
}

/**
 * @param array插入排序算法待排数组
 */
static void insertSort(int ...array){
int i,j,temp;
for(i=1;i<array.length;i++){
if(array[i]<array[i-1]){
temp=array[i];
for(j=i-1;j!=-1&&array[j]>temp;j--){
 array[j+1]=array[j];
}
array[j+1]=temp;
}
}

for(int item:array) out.print(item+" ");
}
A沙滩阳光
2017-03-21 · 超过24用户采纳过TA的回答
知道答主
回答量:76
采纳率:0%
帮助的人:38.6万
展开全部
你的数组写的有问题,int[] arr={5,2,3,4,9,8,7,1},分隔符是逗号
public static void main(String[] args){
int[] a={5,4,2,4,9,1};
Arrays.sort(a); //进行排序
for(int i: a){
System.out.print(i);
}
//2冒泡排序法
public static int[] bubbleSort(int[] args){//冒泡排序算法
for(int i=0;i<args.length-1;i++){
for(int j=i+1;j<args.length;j++){
if (args[i]>args[j]){
int temp=args[i];
args[i]=args[j];
args[j]=temp;
}
}
}
return args;
}
//3选择排序法
public static int[] selectSort(int[] args){//选择排序算法
for (int i=0;i<args.length-1 ;i++ ){
int min=i;
for (int j=i+1;j<args.length ;j++ ){
if (args[min]>args[j]){
min=j;
}
}
if (min!=i){
int temp=args[i];
args[i]=args[min];
args[min]=temp;
}
}
return args;
}
//4插入排序法
public static int[] insertSort(int[] args){//插入排序算法
for(int i=1;i<args.length;i++){
for(int j=i;j>0;j--){
if (args[j]<args[j-1]){
int temp=args[j-1];
args[j-1]=args[j];
args[j]=temp;
}else break;
}
}
return args;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
buyuanyi1314
2017-03-21 · TA获得超过647个赞
知道小有建树答主
回答量:539
采纳率:90%
帮助的人:467万
展开全部
public class Test {
public static void main(String[] args) {
int [] arr = {12,33,30,71,9,4,44};
mySort(arr,0,arr.length-1,"asc");
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]+" ");
}
}
/**
* 对一维数组排序的方法
* @param arrs要排序的数组
* @param low 从数组的第一位开始
* @param high从数组的最后位结束
* @param type排序的方式 升序/降序
*/
public static void mySort(int [] arrs,int low,int high,String type){
int lo=low;
int hi=high;
if (lo>=hi) {
return;
}else{
boolean flag=false;
while (lo<hi) {
if ("asc".equals(type)?arrs[lo]>arrs[hi]:arrs[lo]<arrs[hi]) {
int temp=arrs[lo];
arrs[lo]=arrs[hi];
arrs[hi]=temp;
flag=!flag;
}else{
if (flag) {
lo++;
}else{
hi--;
}
}
}
lo--;
hi++;
mySort(arrs,low,lo,type);
mySort(arrs,hi,high,type);

}
}
}
这是效率快的排序方法(二分法) 对应的参数说明你看看 希望能帮到你!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式