排序操作

public synchronized void sort(File file, int displayOrder, int parentId){
        int max = count(parentId);
        if(displayOrder > max){
            displayOrder = max;
        }

        if(file.getDisplayOrder() > displayOrder){
            fileDao.batchExecute("update File set displayOrder = displayOrder + 1 where parentId = ? and displayOrder >=? and displayOrder < ?", displayOrder, file.getDisplayOrder());
        }
        else{
            fileDao.batchExecute("update File set displayOrder = displayOrder - 1 where parentId = ? and displayOrder >? and displayOrder <= ?", file.getDisplayOrder(), displayOrder);
        }
        file.setDisplayOrder(displayOrder);
        save(file);
    }
时间: 2024-12-07 06:21:47

排序操作的相关文章

对vector等STL标准容器进行排序操作(转!)

西方有句谚语:不要重复发明轮子! STL几乎封装了所有的数据结构中的算法,从链表到队列,从向量到堆栈,对hash到二叉树,从搜索到排序,从增加到删除......可以说,如果你理解了STL,你会发现你已不用拘泥于算法本身,从而站在巨人的肩膀上去考虑更高级的应用. 排序是最广泛的算法之一,本文详细介绍了STL中不同排序算法的用法和区别. 1 STL提供的Sort 算法 C++之所以得到这么多人的喜欢,是因为它既具有面向对象的概念,又保持了C语言高效的特点.STL 排序算法同样需要保持高效.因此,对于

元素的上移、下移等排序操作

最近一些项目中,我经常遇到对元素进行排序操作的需求,包括:上移.下移.置顶.置底.那么这些操作如何实现呢? 上移,简言之就是将需要上移的元素和它前面元素交换位置,使用insertBefore(),大致思路为: var dom=需要上移的元素; var domPrev=dom.prev(); dom.insertBefore(domPrev); 下移,类似上移,将需要下移的元素和它后面的元素交换位置,使用insertAfter(),大致思路为: var dom=需要下移的元素; var domNe

简化版桶排序操作模版

1 //简化版的桶排序,时间复杂度为O(2*(m+n))->O(m+n) 2 //处理的问题:随机输入几组数,对这几组数进行自动排序操作(从小到大或从大到小排序) 3 #include <bits/stdc++.h> 4 using namespace std; 5 inline int read() 6 { 7 int x=0,f=1; 8 char ch=getchar(); 9 while(ch<'0'||ch>'9') 10 { 11 if(ch=='-') 12 f

oracle排序操作

查询排序最多的SQL语句: WITH sql_workarea AS (SELECT sql_id || '_' || child_number sql_id_child,         operation_type operation,         last_execution last_exec,         round(active_time / 1000000, 2) seconds,         optimal_executions || '/' || multipass

mysql分组和排序操作

分组.排序操作 select * from student order by id desc,height asc;                                                         排序,mysql默认根据主键正序排列,order by 排序字段,asc正序,desc倒序,防止一个条件相同内容导致无法排序,再增加第二个排序条件进行排序 select count(*),gender from student group by gender;     

pandas-06 Series和Dataframe的排序操作

pandas-06 Series和Dataframe的排序操作 对pandas中的Series和Dataframe进行排序,主要使用sort_values()和sort_index(). DataFrame.sort_values(by, axis=0, ascending=True, inplace=False, kind='quicksort', na_position='last') by:列名,按照某列排序 axis:按照index排序还是按照column排序 ascending:是否升

Oracle的where语句和排序操作

where特点: 1.用于对数据的筛选 2.可以比较,逻辑操作 3.where 需要放到from后面 ========================================================= 一.比较操作 比较操作包含:>   <    >=    <=    in   (not in)    between ... and ...     like 等 1.使用数字做条件 SQL>select ename,sal,deptno from emp w

C#中hashtable的赋值、取值、遍历、排序操作

一,哈希表(Hashtable)简述 在.NET Framework中,Hashtable是System.Collections命名空间提供的一个容器,用于处理和表现类似key/value的键值对,其中key通常可用来快速查找,同时key是区分大小写:value用于存储对应于key的值.Hashtable中key/value键值对均为object类型,所以Hashtable可以支持任何类型的key/value键值对. 二,哈希表的简单操作 在哈希表中添加一个key/value键值对: Hasht

python列表及其排序操作

1 print ('\n------------3.3.1-永久性排序--------\n') 2 cars = ['bmw','audi','toyoto','subaru'] 3 # 列表操作的.sort()方法排序,默认为a-z顺序排列,如果按照z-a排列需要传递一个参数'reverse=True' 4 cars.sort() # 永久性按照a-z排序 5 print (cars) 6 cars.sort(reverse=True) # reverse=相反.颠倒.倒序 7 print (

iOS 中NSArray NSSet转换 过滤重复与排序操作

很久没写ios代码.最近和朋友聊天时候有强迫症,想强烈把代码给优化. 问题是这样的:现在数据是日期数组,想过滤掉重复的日期,怎么解决. 原始代码 这里想到更简洁点.用NSSet来搞定. [objc] view plaincopy NSArray *arr = @[@"12-11", @"12-11", @"12-11", @"12-12", @"12-13", @"12-14"]; NS