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