Topic: 给一个数组从小到大排列的问题 |
Print this page |
1.给一个数组从小到大排列的问题 | Copy to clipboard |
Posted by: 8261669 Posted on: 2006-09-05 21:30 给定一人数组:int[]arrayOflnts={32,87,3,589,12,1076,2000,8,622,127}; 请按从小到大的顺序排列,并打印出来…… 这个代码怎么写啊,给个思路,我还没学对象,这是数组中的一道练习题…… 谢谢…… |
2.Re:给一个数组从小到大排列的问题 [Re: 8261669] | Copy to clipboard |
Posted by: lisliefor Posted on: 2006-09-05 22:11 这个是一个简单的排序问题! 数据结构中有一些排序的方法,冒泡排序、插入排序、选择排序,LZ可以研究一下,不过数据结构大部分是c的,把想法借过来应该不难! |
3.Re:给一个数组从小到大排列的问题 [Re: 8261669] | Copy to clipboard |
Posted by: 8261669 Posted on: 2006-09-05 22:17 那代码麻烦写下…… |
4.Re:给一个数组从小到大排列的问题 [Re: 8261669] | Copy to clipboard |
Posted by: lwfllr Posted on: 2006-09-06 00:56 for(int i=0;i<arrayOflnts.length();i++){ for(int j=i;j<arrayOflnts.length();j++){ if(arrayOflnts[j]>arrayOflnts[j+1]){ int temp=arrayOflnts[j]; arrayOflnts[j]=arrayOflnts[j+1]; arrayOflnts[j+1]=temp; } } } 应该可以了吧?~~ |
5.Re:给一个数组从小到大排列的问题 [Re: 8261669] | Copy to clipboard |
Posted by: why Posted on: 2006-09-06 11:45 check java.util.Arrays.sort(int[]) |
6.Re:给一个数组从小到大排列的问题 [Re: 8261669] | Copy to clipboard |
Posted by: fragking888 Posted on: 2006-09-07 17:50 给你一段快速排序法的代码,自己试试,快。 public class mySort { int Parttion(int a[], int low, int high) { int x = a[low]; while (low < high) { while (low < high && a[high] >= x) high--; a[low] = a[high]; while (low < high && a[low] < x) low++; a[high] = a[low]; } a[low] = x; return low; } public static void QuickSort(int a[], int len) { mySort mm = new mySort(); mm.Qsort(a, 0, len - 1); } void Qsort(int a[], int low, int high) { if (low < high) { int k = Parttion(a, low, high); Qsort(a, low, k - 1); Qsort(a, k + 1, high); } } } |
7.Re:给一个数组从小到大排列的问题 [Re: 8261669] | Copy to clipboard |
Posted by: yzcj007 Posted on: 2006-09-08 09:04 class ArrayTest{ public static void main(String[] args){ int[] arrayOflnts={32,87,3,589,12,1076,2000,8,622,127}; java.util.Arrays.sort(arrayOflnts); for(int i=0;i<arrayOflnts.length;i++) System.out.println(arrayOflnts[i]); } } |
8.Re:给一个数组从小到大排列的问题 [Re: 8261669] | Copy to clipboard |
Posted by: leange Posted on: 2006-09-09 15:28 楼主认真去学一下数据结构比较好,这是基本的,无论什么考试都会涉及的! |
9.Re:给一个数组从小到大排列的问题 [Re: 8261669] | Copy to clipboard |
Posted by: 8261669 Posted on: 2006-09-09 20:57 public class one{ public static void main(String args[]){ int[] arrayOflnts={32,87,3,589,12,1076,2000,8,622,127}; java.util.Arrays.sort(arrayOflnts); for(int i=0;i<arrayOflnts.length;i++) System.out.print(arrayOflnts[i]+" "); } } 这个方法简便些…… 不过想问下 i<arrayOfnts.length是什么意思啊…… 不理解…… |
10.Re:给一个数组从小到大排列的问题 [Re: 8261669] | Copy to clipboard |
Posted by: lisliefor Posted on: 2006-09-11 10:52 arrayOfInts是int类型数组,上面已经声明,length是它的一个属性,表示它的长度,即元素个数。 i<arrayOfInts.length是控制for循环结束的条件。 |
11.Re:给一个数组从小到大排列的问题 [Re: 8261669] | Copy to clipboard |
Posted by: wwhui Posted on: 2006-09-11 23:16 //给你一个最简单的,选择排序的完整程序,你参考一下。 import java.io.*; public class sy1 {public static void main(String args[]) {int a[]={32,87,3,589,12,1076,2000,8,622,127},n=10; px(a,n); System.out.println("排序后的情况:"); for(int j=0;j<10;j++) System.out.print(" "+a[j]+" "); } static void px(int arr[],int n) {int temp,p; for(int i=0;i<n-1;i++) {p=i; for(int j=i+1;j<n;j++) if(arr[p]>arr[j]) p=j; if(p!=i) {temp=arr[p];arr[p]=arr[i];arr[i]=temp;} } } } |
Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1 客服电话 18559299278 客服信箱 714923@qq.com 客服QQ 714923 |