黑马程序员技术交流社区
标题:
老师讲的例子
[打印本页]
作者:
华子
时间:
2014-6-17 21:48
标题:
老师讲的例子
public class arraysort
{
public static void main(String[] args)
{
int arr[]={3,6,1,8,2};
getscanf(arr);
System.out.println();
getsort(arr);
getscanf(arr);
}
public static void getsort(int[] arr)
{
for(int i=0;i<arr.length-1;i++)
{
for(int x=i+1;x<arr.length;x++)
{
if(arr[i]>arr[x])
{
int a=arr[i];
arr[i]=arr[x];
arr[x]=a;
}
}
}
}
public static void getscanf(int[] arr)
{
System.out.print('[');
for(int m=0;m<arr.length;m++)
{
System.out.print(arr[m]);
System.out.print(' ');
}
System.out.print(']');
}
}
作者:
江夷
时间:
2014-6-17 21:54
你的问题是什么?
作者:
人心如水
时间:
2014-6-17 22:09
亲,你的问题是什么,代码间给点中文吧!
作者:
wangmin
时间:
2014-6-17 22:35
问题???代码给点注释吧
作者:
love~陌
时间:
2014-6-18 00:07
package com.itcast.day01;
public class Arraysort// 首先,这里,少年,你的类名就不符合命名规范,这个是我修改后的
{
public static void main(String[] args) {
int arr[] = { 3, 6, 1, 8, 2 };
getscanf(arr);
System.out.println();
getsort(arr);
getscanf(arr);
}
public static void getsort(int[] arr) {
for (int i = 0; i < arr.length - 1; i++) {
for (int x = i + 1; x < arr.length; x++) {
if (arr[i] > arr[x]) {
//两个数交换位置,你这里程序效率太低,每次换位置都需要创建一个int a这么一个变量
int a = arr[i];
arr[i] = arr[x];
arr[x] = a;
}
}
}
}
public static void getscanf(int[] arr) {
System.out.print('[');
for (int m = 0; m < arr.length; m++) {
//下面这两条输出语句完全没必要这么写,可以整合到一起的
System.out.print(arr[m]);
System.out.print(' ');
}
System.out.print(']');
}
}
复制代码
作者:
love~陌
时间:
2014-6-18 00:20
package com.itcast.day01;
public class Arraysort
{
public static void main(String[] args) {
//定义原数组
int arr[] = { 3, 6, 1, 8, 2 };
//输出原数组
getscanf(arr);
//原数组排序
getsort(arr);
//输出排序后的数组
getscanf(arr);
}
//给数组排序
public static void getsort(int[] arr) {
for (int i = 0; i < arr.length - 1; i++) {
for (int x = i + 1; x < arr.length; x++) {
if (arr[i] > arr[x])
swap(arr,i,x);
}
}
}
//输出数组
public static void getscanf(int[] arr) {
System.out.print("["+arr[0]+",");
for (int i = 1; i < arr.length-1; i++) {
System.out.print(arr[i]+",");
}
System.out.println(arr[arr.length -1]+"]");
}
//将数组中两个元素交换位置的功能封装成为一个函数
public static void swap(int [] arr,int a,int b){
//既然是两个int类型数据交换位置,那么我们可以采用效率高一些的方法来完成这个动作
arr[a] = arr[a]^arr[b];
arr[b] = arr[a]^arr[b];
arr[a] = arr[a]^arr[b];
}
}
复制代码
少侠,这是你想要的么?
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2