十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
这是冒泡排序。
创新互联建站-云计算及IDC服务提供商,涵盖公有云、IDC机房租用、服务器机柜租用、等保安全、私有云建设等企业级互联网基础服务,联系电话:18980820575
下面是选择排序的代码:
for(int i=0;ia.length;i++){
max = i;
/**查找第 i大的数,直到记下第 i大数的位置***/
for(int j=i+1;ja.length;j++){
if(a[max]a[j])
max = j; //记下较大数位置,再次比较,直到最大
}
/***如果第 i大数的位置不在 i,则交换****/
if(i!=max){
tmp = a[i];
a[i] = a[max];
a[max] = tmp;
}
}
将数字从大到小排序的方法:
例如简一点的冒泡排序,将第一个数字和后面的数字逐个比较大小,如果小于,则互换位置,大于则不动。此时,第一个数为数组中的最大数。然后再将第二个数与后面的数逐个比较,以次类推。
示例代码如下:
public class Test {
public static void main(String[] args) {
int [] array = {12,3,1254,235,435,236,25,34,23};
int temp;
for (int i = 0; i array.length; i++) {
for (int j = i+1; j array.length; j++) {
if (array[i] array[j]) {
temp = array[i];
array[i] = array[j];
array[j] = temp; // 两个数交换位置
}
}
}
for (int i = 0; i array.length; i++) {
System.out.print(array[i]+" ");
}
}
}
数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同。
Java 语言中提供的数组是用来存储固定大小的同类型元素。
你可以声明一个数组变量,如 numbers[100] 来代替直接声明 100 个独立变量 number0,number1,....,number99
扩展资料
Java中利用数组进行数字排序一般有4种方法:
1、选择排序是先将数组中的第一个数作为最大或最小数,然后通过循环比较交换最大数或最小数与一轮比较中第一个数位置进行排序。
2、冒泡排序也是先将数组中的第一个数作为最大或最小数,循环比较相邻两个数的大小,满足条件就互换位置,将最大数或最小数沉底。
3、快速排序法主要是运用Arrays类中的Arrays.sort方法()实现。
4、插入排序是选择一个数组中的数据,通过不断的插入比较最后进行排序。
//简单选择排序,按自然顺序
public static void selectsort(int[] array){
int min, index, temp;
for(int i = 0; i array.length - 1; i++){ // N - 1 趟
min = i;
//查找选择最小元素值的下标索引值
for(index = i + 1; index array.length; index++){
if(array[min] array[index])
min = index;
}
//交换
if(min != i){
temp = array[min];
array[min] = array[i];
array[i] = temp;
}
}
}
public class TestBaiduKnow {
public static void main(String[] args) {
int[] a = { 3, 5, 6, 1, 2, 8, 9 };
// 冒泡 排序后结果从小到大
for (int i = 0; i a.length; i++)
for (int j = i; j a.length; j++) {
if (a[i] a[j]) {
a[i] = a[i] + a[j];
a[j] = a[i] - a[j];
a[i] = a[i] - a[j];
}
}
print(a);
// 选择排序 结果从大到小
int pos = -1;
for (int i = 0; i a.length; i++) {
int max = a[i];
for (int j = i + 1; j a.length; j++) {
if (max a[j]) {
pos = j;
max = a[j];
}
}
if (pos != -1) {
a[i] = a[i] + a[pos];
a[pos] = a[i] - a[pos];
a[i] = a[i] - a[pos];
pos = -1;
}
}
print(a);
}
private static void print(int[] a) {
for (int i = 0; i a.length; i++)
System.out.print(a[i] + "\t");
System.out.println();
}
}