sort

选择排序法-Selection Sort

柔情痞子 提交于 2020-03-06 09:08:18
一、O(n 2 )的排序算法 (1)基础 (2)编码简单,易于实现,是一些简单情景的首选 (3)在一些特殊情况下,简单的排序算法更有效 (4)简单的排序算法思想衍生出复杂的排序算法 (5)作为子过程,改进更复杂的排序算法 二、选择排序-Selection Sort (1)对下面数组从小到大排序 (2)找到数组中最小的元素1和第一个位置8进行交换,此时1这个元素就已经在最终数组排好序的位置了 (3)此时,找数组中第二小的元素为2,和当前数组第一个没有排序的位置的元素6进行交换,此时元素2也已经归位,以此类推 【代码】 <selection_sort.cpp> # include <iostream> # include <algorithm> # include <string> # include "Student.h" # include "SortTestHelper.h" using namespace std ; //选择排序核心代码 template < typename T > void selectionSort ( T arr [ ] , int n ) { for ( int i = 0 ; i < n ; i ++ ) { //寻找[i,n)区间里的最小值 int minIndex = i ; for ( int j = i + 1 ; j < n ; j ++

sql 分页存储过程及其调用

若如初见. 提交于 2020-03-06 05:41:27
GO /****** Object: StoredProcedure [dbo].[proc_Data] Script Date: 12/10/2015 18:17:12 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO /********************************************************* * 作 用:数据分页(完整SQL分页存储过程(支持多表联接)) * 作 者: * 创建日期: * 使用说明: 1、单表调用方法:EXEC proc_DataPagination @tblName = 'ipa',@fldName = '*',@pageSize =50,@page = 6789,@fldSort = '',@Sort = 1,@strCondition = '',@ID = 'id',@Dist = 0,@pageCount = null,@Counts = NULL 2、多表调用方法:EXEC proc_DataPagination @tblName = 'Info LEFT JOIN InfoType it ON it.typeid=Info.tid',@fldName = 'info.*,it.tname',@pageSize =50,@page = 1806,

六、python实现快速排序

拈花ヽ惹草 提交于 2020-03-05 23:48:34
python实现快速排序 第一种(两个指针分别都两头开始) #6.快速排序 时间复杂度O(nlogn) 空间复杂度O(logn) def quick_sort ( L , start , end ) : if start < end : i = start j = end pivot = L [ start ] while i < j : while L [ j ] >= pivot and i < j : j -= 1 L [ i ] , L [ j ] = L [ j ] , L [ i ] while L [ i ] <= pivot and i < j : i += 1 L [ i ] , L [ j ] = L [ j ] , L [ i ] quick_sort ( L , start , i - 1 ) quick_sort ( L , i + 1 , end ) return L L = [ 5 , 6 , 4 , 8 , 2 , 1 , 7 , 3 , 0 , 1 ] print ( quick_sort ( L , 0 , len ( L ) - 1 ) ) 结果#[0, 1, 1, 2, 3, 4, 5, 6, 7, 8] 第二种方法 算法导论版本(两个指针都从头开始) 来源: CSDN 作者: 大大大言言言 链接: https://blog.csdn.net

[leetcode]Sort Colors @ Python

扶醉桌前 提交于 2020-03-05 04:46:28
原题地址:https://oj.leetcode.com/problems/sort-colors/ 题意: Given an array with n objects colored red, white or blue, sort them so that objects of the same color are adjacent, with the colors in the order red, white and blue. Here, we will use the integers 0, 1, and 2 to represent the color red, white, and blue respectively. Note: You are not suppose to use the library's sort function for this problem. click to show follow up. Follow up: A rather straight forward solution is a two-pass algorithm using counting sort. First, iterate the array counting number of 0's, 1's, and 2's, then overwrite array

ecshop 后台分页功能

泄露秘密 提交于 2020-03-03 14:03:33
Ecshop分页规则,分以下几个步骤 1.点击类别,获取第一页获取默认分类列表数据 2.点击“下一页”,采用ajax调取分页内容 实例分析(比如订单列表分页admin/order.php) 1.先写一个function order_list() 模块,里面要包括可以进行排序,分页,查询等功能 2.在order.php里面写一个elseif ($_REQUEST['act'] == 'list') ,这里是显示默认分页数据 3.在order.php写一个query( listtable.js默认的是先读取 $_REQUEST['act'] == 'query' )排序、分页、查询都在query里面完成 4.html页面(默认order_list.html完整代码) 实战 ”微仓功能“ 1.我先写一个function depot_log_list,可以进行排序、分类、查询。这个function里面很有讲究的 重点代码 function depot_list() { //*f.获取上一次保存的查询条件(如果上一次有进行查询过,则直接从f开始) $result = get_filter(); if ($result === false) {    // a.查询条件    $filter['goods_id'] = empty($_REQUEST['goods_id']) ? '' :

一丁点算法学习感悟

孤人 提交于 2020-03-03 05:56:25
在忙项目的空隙看算法导论这本书,首先当然是接触一些排序算法,bubble sort,insert sort , merge sort , quick sort , heap sort,按着书上给的算法一一的实现上述算法。 然后接着看哈希表,还有树,图,发现有些困难。可能算法导论这本书对于初学者还是有些难度,但是想想这不是主要的原因。我太依赖于已有的东西了,缺少必要的思考和分析,加改进的一点点想法,一点点的积累对自己的思维锻炼都是多有裨益的,在这个应试的僵化的学院氛围中。 总结不能因噎废食,止步不前,接着多看,接着多编程,4月结束算法导论的学习,剩下的时间结合算法导论这本书然后联系oj上的题来巩固。 不要畏难,困难会一直存在,以各种形式存在,你不可能一下子消灭所有问题,大多时候应该是一种对待困难的态度,一种钻研解决困难的精神,团队作战搞定它。不要学千里走单骑,社会越来越需要一个能够带动整个团队,带强一个团队的人。谨记。当然这之前你的个人能力必须足够好,业务水平足够优秀,才能carry 全队。 来源: https://www.cnblogs.com/bestwangjie/p/4384781.html

.sort与sorted的区别

£可爱£侵袭症+ 提交于 2020-03-02 18:37:22
list.sort 方法会就地排序列表,也就是说不会把原列表复制一份。这 也是这个方法的返回值是 None 的原因,提醒你本方法不会新建一个列 表。在这种情况下返回 None 其实是 Python 的一个惯例:如果一个函数 或者方法对对象进行的是就地改动,那它就应该返回 None,好让调用 者知道传入的参数发生了变动,而且并未产生新的对象。例 如,random.shuffle 函数也遵守了这个惯例。  用返回 None 来表示就地改动这个惯例有个弊端,那就是调用 者无法将其串联起来。而返回一个新对象的方法(比如说 str 里的 所有方法)则正好相反,它们可以串联起来调用,从而形成连贯接 口(fluent interface)。详情参见维基百科中有关连贯接口的讨论 (https://en.wikipedia.org/wiki/Fluent_interface)。 与 list.sort 相反的是内置函数 sorted,它会新建一个列表作为返回 值。这个方法可以接受任何形式的可迭代对象作为参数,甚至包括不可 变序列或生成器(见第 14 章)。而不管 sorted 接受的是怎样的参 数,它最后都会返回一个列表。 不管是 list.sort 方法还是 sorted 函数,都有两个可选的关键字参 数。 reverse   如果被设定为 True,被排序的序列里的元素会以降序输出(也就

Hadoop 中的数据倾斜

淺唱寂寞╮ 提交于 2020-03-02 13:11:46
最近几次被问到关于数据倾斜的问题,这里找了些资料也结合一些自己的理解. 在并行计算中我们总希望分配的每一个task 都能以差不多的粒度来切分并且完成时间相差不大,但是集群中可能硬件不同,应用的类型不同和切分的数据大小不一致总会导致有部分任务极大的拖慢了整个任务 的完成时间,硬件不同就不说了,应用的类型不同其中就比如page rank 或者data mining 里面一些计算,它的每条记录消耗的成本不太一样,这里只讨论关于关系型运算的(一般能用SQL表述的) 数据切分上的数据倾斜问题. hadoop 中数据倾斜会极大影响性能的一个背景是mapreduce 框架中总是不分条件的进行sort . 在通用情况下map sort + partition +reduce sort 可以得到结果,但是这个过程不一定是最优的. 对于关系型计算,其中数据倾斜影响最大的地方在reduce 的sort , reduce 处理的数据量的大小如果超过给定的reduce jvm 的大小的2倍不到的阈值的时候(这个阈值是我猜测的,具体以实际监控运行情况为准),reduce 端会发生multi-pass merge sort 的情况, 这个时候观察这些运行较慢的reduce task 的metrics 会发现reduce 跟IO 相关的metrics 会比其他reduce 大很多. 具体的细节参考今年hadoop

C++ sort()对结构体排序

☆樱花仙子☆ 提交于 2020-03-02 12:58:39
重写仿函数(函数指针法) #include<iostream> #include<algorithm> using namespace std; struct stu{ int num; float score; }; bool cmp(const stu &a, const stu &b){ return a.score < b.score; } int main(){ stu nums[3] = {{1,98.5}, {2,88.5}, {3,68.5}}; sort(nums, nums + 3, cmp); for(int i = 0; i < 3; ++ i) { cout << nums[i].score <<endl; } return 0; } 重载运算符(struct内部 + struct外部) #include<iostream> #include<algorithm> using namespace std; struct stu{ int num; float score; bool operator<(const stu &a) const { return score < a.score; } }; int main(){ stu nums[3] = {{1,98.5}, {2,88.5}, {3,68.5}}; sort(nums, nums + 3)

android 探索首选项框架 ListPreference

别来无恙 提交于 2020-03-02 08:35:53
探索首选项框架 在深入探讨Android的首选项框架之前,首先构想一个需要使用首选项的场景,然后分析如何实现这一场景。假设你正在编写一个应用程序,它提供了一个搜 索飞机航班的工具。而且,假设该应用程序的默认设置是根据机票价格由低到高的顺序显示航班,但用户可以将首选项设置为始终根据最少停站数或特定航线来航 班。如果实现这一场景? ListPreference 显然,必须为用户提供UI 来查看排序选项列表。该列表将包含每个选项的单选按钮,而且默认(或当前)选项应该被预先选中。要使用Android首选项框架解决此问题,所做的工作非 常之少。首先,创建首选项XML文件来描述首选项,然后使用预先构建的活动类,该类知道如何显示和持久化首选项,下面是我们的首选项 XML 文件flightoptions.xml 。 Xml代码 <? xml version = "1.0" encoding = "utf-8" ?> < PreferenceScreen xmlns:android = "http://schemas.android.com/apk/res/android" android:key = "flight_option_preference" android:title = "@string/prefTitle" android:summary = "@string