6.6.1数组案例分析

范例:实现数组排序
public class Array113a {
public static void sort (int data[]) {
for (int x=0;x<data.length;x++) {
for(int y=0;y<data.length-x-1;y++) {
if(data[y]>data[y+1]) {
int temp=data[y];
data[y]=data[y+1];
data[y+1]=temp;
}
}
}
}
public static void printArry(int data[]) {
for(int x=0;x<data.length;x++) {
System.out.print(data[x]+"、");
}
}
}
--------------------------------------------------------------
public class Array113b {
public static void main(String[] args) {
int [] data=new int [] {5,8,1,3,6,9,4,10,2,7};
Array113a.sort(data);
Array113a.printArry(data);
}
}
1、2、3、4、5、6、7、8、9、10、
提问:为什么要定义static方法?定义普通方法用对象调用不可以嘛?
回答:没有成员属性定义,减少无用对象产生
6.6.2数组转置案例分析
指首尾信息交换:例如1、2、3、4、5、6
6、5、4、3、2、1


范例:数组转换(方法一)
public class Array11502 {
public static void sort(int data[]) {
int crnter=data.length/2;
int head=0;
int tatil=data.length-1;
for(int x=0;x<crnter;x++) {
int temp=data[head];
data[head]=data[tatil];
data[tatil]=temp;
head++;
tatil--;
}
}
public static void printArray(int []data) {
for(int x=0;x<data.length;x++) {
System.out.print(data[x]+" ");
}
}
}
---------------------------------------------------------
public class Array11501a {
public static void main(String[] args) {
int data[]=new int [] {1,5,6,8,9};
Array11502.sort(data);
Array11502.printArray(data);
}
}
9 8 6 5 1
方法(二)
public class Array11501 {
public static void server(int data[]) {
int temp[]=new int [data.length];//第二个数组
int foot=temp.length -1; //第二个数组角标
for(int x=0;x<data.length;x++) {
temp[foot--]=data[x];
}
data=temp;
printArry(data);
}
public static void printArry(int temp[]) {
for(int y=0;y<temp.length;y++) {
System.out.print(temp[y]+"、");
}
System.out.println();
}
}
------------------------------------
public class Array11501a {
public static void main(String[] args) {
int data[]=new int [] {1,5,6,8,9};
Array11501.server(data);
}
}
9、8、6、5、1、
提示:二维数组转置
811

被折叠的 条评论
为什么被折叠?



