Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用单个数组的java选择排序_Java_Arrays_Sorting - Fatal编程技术网

使用单个数组的java选择排序

使用单个数组的java选择排序,java,arrays,sorting,Java,Arrays,Sorting,通过在同一数组中使用和操作,我编写了一个用于选择排序的java代码。但我不会将排序数组作为输出。请告诉我下面给出的代码中的更正。plz帮助谢谢 import java.lang.*; import java.io.*; class SS { int a[]={2,4,7,1,3}; int min=a[0],temp,x=0,m; void swap(int p,int q) { temp=a[p]; a[p]=a[q]; a[q]=temp; } void ssort() { int n=a

通过在同一数组中使用和操作,我编写了一个用于选择排序的java代码。但我不会将排序数组作为输出。请告诉我下面给出的代码中的更正。plz帮助谢谢

import java.lang.*;
import java.io.*;
class SS
{
int a[]={2,4,7,1,3};
int min=a[0],temp,x=0,m;
void swap(int p,int q)
{
temp=a[p];
a[p]=a[q];
a[q]=temp;
}

void ssort()
{
int n=a.length;

for(m=-1; m<n; m++)
{m=m+1;
for(int i=m;i<n;i++)
{
if(a[i]<min)
{
min=a[i];
x=i;
}
}
swap(m,x);

}


for(int k=0;k<=n;k++)
{
System.out.print(a[k]+"  ");
}
}


public static void main(String args[])
{
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));

SS obj=new SS();
obj.ssort();
}
}
import java.lang.*;
导入java.io.*;
SS类
{
int a[]={2,4,7,1,3};
int min=a[0],温度,x=0,m;
无效交换(整数p,整数q)
{
温度=a[p];
a[p]=a[q];
a[q]=温度;
}
void ssortt()
{
int n=a.长度;

对于(m=-1;m,如果您不习惯使用数组。排序(a)。 你可以用这个

void ssort() {
    bubbleSort(a);
    for (int i : a) {
        System.out.println(i);
    }
}
public static void bubbleSort(int [] array) {

    for(int i = 0; i < array.length; i++) {
        boolean flag = false;
        for(int j = 0; j < array.length-1; j++) {

            if(array[j]>array[j+1]) {
                int k = array[j];
                array[j] = array[j+1];
                array[j+1] = k;
                flag=true;
            }


        }

        if(!flag) break; 
    }
}
void ssort(){
泡泡运动(a);
对于(int i:a){
系统输出打印LN(i);
}
}
公共静态void bubbleSort(int[]数组){
for(int i=0;i数组[j+1]){
int k=数组[j];
数组[j]=数组[j+1];
数组[j+1]=k;
flag=true;
}
}
如果(!flag)中断;
}
}

检查您的代码,您犯了几个错误,下面是正确的代码和一些提示:

  • 将数组作为参数传递给排序
  • 使用正确的缩进可以更好地阅读代码
  • 仅在需要时定义变量
  • 不要使用实例变量,而只使用变量区域设置
代码如下:

void ssort(int[] a) {
    for (int m = 0; m < a.length; m++) { 
        int min = m;
        for (int i = m + 1; i < a.length; i++) {
            if (a[i] < a[min]) {
                posmin = i;
            }
        }
        int temp = a[m];
        a[m] = a[min];
        a[min] = temp;
    }
}
void ssort(int[]a){
对于(int m=0;m
注意:我使用了与您相同的变量名称。请检查它,因为可能存在键入错误。

您可以使用
数组。排序(a);