java排序的几种方法

java排序的几种方法,第1张

;   // 冒泡排序法(大的数往后放)        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有几种实现数据排序的方法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9416156.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存