
; // 冒泡排序法(大的数往后放) class Bubble { //创建排序方法 public void sort(int arr[]) { int temp= ; //排序 //外层循环 决定一共比几次 for(int i= ;i<arr length ;i++) { //内层循环 开始逐个比较 for (int j= ;j<arr length i;j++) { //如果发现前一个数比后一个数大 则交换 if(arr[j]>arr[j+ ]) { //换位 temp=arr[j]; arr[j]=arr[j+ ]; arr[j+ ]=temp; } } } } } // 选择排序法(从小到大) class Select { public void sort(int arr[]) { int temp= ; for(int i= ;i<arr length ;i++) { //认为arr[i]最小 int min=arr[i]; //记录最小的数的下标 int minIndex=i; //用我认为的数和后面的数以次比较 找到最小值 for(int k=i+ ;k<arr length;k++) { //如果arr[i]不是最小的则修改值 if(min>arr[k]) { //修改最小 min=arr[k]; minIndex=k; } } //当退出for就找到了这次的最小值 并交换值 temp=arr[i]; arr[i]=arr[minIndex]; arr[minIndex]=temp; } } } // 插入排序法 class InsertSort { public void sort (int arr[]) { for(int i= ;i<arr length;i++) { //insertVal是准备插入的数 int insertVal=arr[i]; //insertVal准备和前一个数比较 int index=i ; //前一个数的下标 while(index>= &&insertVal<arr[index]) { //就把arr[index]向后移动一位 arr[index+ ]=arr[index]; //让index向前移动 index ; } //将insertVal插入到适当位置 arr[index+ ]=insertVal; } } } lishixinzhi/Article/program/Java/hx/201311/26530
如果你不清楚一个方法的用法,首先应该想到查API文档啊:
内容如下:
int
executeUpdate(String
sql)
执行给定
SQL
语句,该语句可能为
INSERT、UPDATE
或
DELETE
语句,或者不返回任何内容的
SQL
语句(如
SQL
DDL
语句)。
-------------------------
但我不理解的是,
rs=stmtexecuteQuery("Select
From
StuInfo
ORDER
BY
Num");
这已经执行查询了你还用executeUpdate(String
sql)做什么啊?
进行数据更新?
我觉得你下一步应该是输出排序后的字段吧?
while(rsnext()){……}这样吧?
排序算法是数据结构的东西 和语言是没关系的 。
public class BubbleSort {
public static void bubbleSort(int[] array) {
int length = arraylength - 1;
for (int out = length; out > 0; out--) {
for (int in = 0; in < out; in++) {
if (array[in] > array[in + 1]) {
int s = array[in];
array[in] = array[in + 1];
array[in + 1] = s;
}
}
}
}
}
有两种办法:
1你可以通过数据库查询就排序。不管你用什么框架都可以了,只要知道怎么写sql语句就OK,不过这些sql语句都是动态查询的哦,也就是你在点了排序的时候才传排序参数进去,然后在sql后面补上一句order by 传的参数就可以了,你用ibatis的话有个动态关键字的配置,叫dyinacil not-null什么来着,具体自己在网上差下,你可以输入ibatis动态查询就搜到了。用hibernate的话,你得在程序中判断输入的参数为空不,不为空就将sql+order by 参数。用jdbc的话也差不多了,判断下,将其拼到你的sql语句即可。
2第二中思想是你可以编写一个JAVA比较器,查出来的数据按什么规则去比较就可以了,想按什么字段比较就定什么样的JAVA比较器。
JAVA中在运用数组进行排序功能时,一般有四种方法:快速排序法、冒泡法、选择排序法、插入排序法。
快速排序法主要是运用了Arrays中的一个方法Arrayssort()实现。
冒泡法是运用遍历数组进行比较,通过不断的比较将最小值或者最大值一个一个的遍历出来。
选择排序法是将数组的第一个数据作为最大或者最小的值,然后通过比较循环,输出有序的数组。
插入排序是选择一个数组中的数据,通过不断的插入比较最后进行排序。下面我就将他们的实现方法一一详解供大家参考。
<1>利用Arrays带有的排序方法快速排序
public class Test2{public static void main(String[] args){
int[] a={5,4,2,4,9,1};
Arrayssort(a); //进行排序
for(int i: a){
Systemoutprint(i);
}
}
}
<2>冒泡排序算法
public static int[] bubbleSort(int[] args){//冒泡排序算法for(int i=0;i<argslength-1;i++){
for(int j=i+1;j<argslength;j++){
if (args[i]>args[j]){
int temp=args[i];
args[i]=args[j];
args[j]=temp;
}
}
}
return args;
}
<3>选择排序算法
public static int[] selectSort(int[] args){//选择排序算法for (int i=0;i<argslength-1 ;i++ ){
int min=i;
for (int j=i+1;j<argslength ;j++ ){
if (args[min]>args[j]){
min=j;
}
}
if (min!=i){
int temp=args[i];
args[i]=args[min];
args[min]=temp;
}
}
return args;
}
<4>插入排序算法
public static int[] insertSort(int[] args){//插入排序算法for(int i=1;i<argslength;i++){
for(int j=i;j>0;j--){
if (args[j]<args[j-1]){
int temp=args[j-1];
args[j-1]=args[j];
args[j]=temp;
}else break;
}
}
return args;
}
以上就是关于java排序的几种方法全部的内容,包括:java排序的几种方法、Java数据库排序、用java有几种实现数据排序的方法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)