寻,超大数组排序

eastsir 2010-01-14 07:57:07
有一个超大数组(可能100W),可能不是数组,反正是连续的..
要对它排序.
大家一般怎么处理..

另外:如果.
这个数组是从文件中读的呢,一次数一部,如1024字节
...全文
147 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Java2King 2010-01-15
  • 打赏
  • 举报
回复
100W而已直接内存里
如果是上亿了就用外部归并排序

我写的多路归并算法
http://blog.csdn.net/Java2King/archive/2010/01/07/5152172.aspx
nosuchtracter 2010-01-15
  • 打赏
  • 举报
回复
记得数据库结构和算法这本上说
如果数据量大的话要用外部排序,只记得好像有一个桶排序
没实践过
eastsir 2010-01-15
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wenzheng38 的回复:]
是呀,100W是不是很大的,一般的内存(512M)已够用了
[/Quote]

主要是有什么算法啊
你的头像不错
wenzheng38 2010-01-15
  • 打赏
  • 举报
回复
是呀,100W是不是很大的,一般的内存(512M)已够用了
eastsir 2010-01-15
  • 打赏
  • 举报
回复
ding
绿色夹克衫 2010-01-14
  • 打赏
  • 举报
回复
100万直接排序应该就可以,其实不算太大!
如果涉及到外部排序,可以搜索一下相关资料。

http://topic.csdn.net/u/20091225/02/c2d61b0e-c6d3-486e-84c9-410621dd99c0.html
C语言教程(原书第4版) 《c语言教程(原书第4版)》是一本优秀的c程序设计语言教材,完整描述了ansi c语言及其语法特性,并对c语言的高级特性和应用作了深入阐述,介绍了从c到c++和java过渡的相关知识。《c语言教程(原书第4版)》的一个鲜明特色就是结合大量示例描述c语言的重要特征,并对很多工作代码给出了逐步的分析,以这种独特的教学方法向读者解释新接触的编程元素及一些惯用法。   《c语言教程(原书第4版)》系统、完整,可作为c语言的参考手册,也非常适合作为学习c语言的入门和高级课程教材。 前言 第0章 从零开始 0.1 为什么要用c 0.2 ansi c标准 0.3 从c到c++ 0.4 从c和c++到java 第1章 c语言概述 1.1 编程和预备知识 1.2 程序输出 1.3 变量、表达式和赋值 1.4 使用#define和#include 1.5 使用printf()和scanf() 1.6 控制流 1.7 函数 1.8 数组、字符串和指针 1.8.1 数组 1.8.2 字符串 1.8.3 指针 1.9 文件 1.10 与操作系统有关的内容 1.10.1 编写和运行c程序 1.10.2 中断程序 1.10.3 输入文件尾标志 1.10.4 输入和输出的重定向 1.11 总结 1.12 练习 第2章 词法元素、操作符和c系统 2.1 字符和词法元素 2.2 语法规则 2.3 注释 2.4 关键字 2.5 标识符 2.6 常量 2.7 字符串常量 2.8 操作符和标点符号 2.9 操作符的优先级和结合性 2.10 增值操作符和减值操作符 2.11 赋值操作符 2.12 例子:计算2的乘方 2.13 c系统 2.13.1 预处理器 2.13.2 标准函数库 2.14 总结 2.15 练习 第3章 基本数据类型 3.1 声明、表达式和赋值 3.2 基本数据类型 3.3 字符和char数据类型 3.4 int数据类型 3.5 整数类型short、long和unsigned 3.6 浮点类型 3.7 typedef的用法 3.8 sizeof操作符 3.9 使用getchar()和putchar() 3.10 数学函数 3.10.1 使用abs()和fabs() 3.10.2 unix和数学函数库 3.11 隐式类型转换和强制类型转换 3.11.1 整型提升 3.11.2 常算术转换 3.11.3 强制类型转换 3.12 十六进制和八进制常量 3.13 总结 3.14 练习 第4章 控制流 4.1 关系操作符、相等操作符和逻辑操作符 4.2 关系操作符和表达式 4.3 相等操作符和表达式 4.4 逻辑操作符和表达式 4.5 复合语句 4.6 表达式和空语句 4.7 if和if-else语句 4.8 while语句 4.9 for语句 4.10 例子:布尔变量 4.11 逗号操作符 4.12 do语句 4.13 例子:斐波那契数 4.14 goto语句 4.15 break和continue语句 4.16 switch语句 4.17 条件操作符 4.18 总结 4.19 练习 第5章 函数 5.1 函数定义 5.2 return语句 5.3 函数原型 5.4 例子:创建乘方表 5.5 从编译器的角度观察函数原型 5.6 函数定义顺序的另一种风格 5.7 函数调用和传值调用 5.8 开发大型程序 5.9 使用断言 5.10 作用域规则 5.10.1 平行和嵌套代码块 5.10.2 以调试为目的使用代码块 5.11 存储类型 5.11.1 auto存储类型 5.11.2 extern存储类型 5.11.3 register存储类型 5.11.4 static存储类型 5.12 静态外部变量 5.13 默认初始化 5.14 递归 5.15 例子:汉诺塔 5.16 总结 5.17 练习 第6章 数组、指针和字符串 6.1 一维数组 6.1.1 初始化 6.1.2 下标 6.2 指针 6.3 传引用调用 6.4 数组和指针之间的关系 6.5 指针运算和元素的大小 6.6 数组作为函数的实参 6.7 例子:冒泡排序 6.8 用calloc()和malloc()进行动态内存分配 6.9 例子:归并和归并排序 6.10 字符串 6.11 标准函数库中的字符串处理函数 6.12 多维数组 6.12.1 二维数组 6.12.2 存储映射函数 6.12.3 形式参数声明 6.12.4 三维数组 6.12.5 初始化 6.12.6 使用typedef 6.13 指针数组 6.14 main()函数的参数 6.15 不规则数组 6.16 函数作为参数 6.17 例子:使用二分法找函数的根 6.18 函数指针数组 6.19 类型限定符const和volatile 6.20 总结 6.21 练习 第7章 位操作符和枚举类型 7.1 位操作符和表达式 7.1.1 按位求反 7.1.2 补码 7.1.3 位逻辑操作符 7.1.4 左移位和右移位操作符 7.2 掩码 7.3 软件工具:打印int值的二进制形式 7.4 包装和解包 7.5 枚举类型 7.6 例子:“石头、剪刀、布”游戏 7.7 总结 7.8 练习 第8章 预处理器 8.1 #include的使用 8.2 使用#define 8.3 带参数的宏 8.4 stddef.h中的类型定义和宏 8.5 例子:用qsort()进行排序 8.6 例子:带参数的宏 8.7 stdio.h和ctype.h中的宏 8.8 条件编译 8.9 预定义的宏 8.10 “#”和“##”操作符 8.11 assert()宏 8.12 使用#error和#pragma 8.13 行号 8.14 对应的函数 8.15 例子:快速排序 8.16 总结 8.17 练习 第9章 结构和联合 9.1 结构 9.2 访问结构成员 9.3 操作符的优先级和结合性的总结 9.4 在函数中使用结构 9.5 结构的初始化 9.6 例子:玩扑克牌 9.7 联合 9.8 位字段 9.9 例子:访问位和字节 9.10 adt堆栈 9.11 总结 9.12 练习 第10章 结构和列表处理 10.1 自引用的结构 10.2 线性链表 10.3 链表操作 10.4 一些链表处理函数 10.4.1 插入 10.4.2 删除 10.5 堆栈 10.6 例子:波兰记法和堆栈求值 10.7 队列 10.8 二叉树 10.8.1 二叉树的遍历 10.8.2 创建树 10.9 普通的树 10.9.1 遍历 10.9.2 calloc()的用法以及树的创建 10.10 总结 10.11 练习 第11章 输入/输出和操作系统 11.1 输出函数printf() 11.2 输入函数scanf() 11.3 fprintf()、fscanf()、sprintf() 和sscanf()函数 11.4 fopen()和fclose()函数 11.5 例子:对文件进行空间加倍 11.6 使用临时文件和优雅函数 11.7 随机访问文件 11.8 文件描述符输入/输出 11.9 文件访问权限 11.10 在c程序内部执行命令 11.11 在c程序内部使用管道 11.12 环境变量 11.13 c编译器 11.14 使用性能评估程序 11.15 函数库 11.16 对c代码进行计时 11.17 使用make 11.18 使用touch 11.19 其他有用的工具 11.20 总结 11.21 练习 第12章 高级应用 12.1 用fork()创建并发进程 12.2 进程的叠加:exec...()函数族系 12.3 使用pipe()实现进程间的通信 12.4 信号 12.5 例子:哲学家用餐问题 12.6 矩阵的动态分配 12.6.1 为什么二维数组无法满足要求 12.6.2 用指针数组创建矩阵 12.6.3 调整下标范围 12.6.4 一次分配所有内存 12.7 返回状态 12.8 总结 12.9 练习 第13章 从c到c++ 13.1 输出 13.2 输入 13.3 函数 13.4 类和抽象数据类型 13.5 重载 13.6 构造函数和析构函数 13.7 面向对象编程和继承 13.8 多态 13.9 模板 13.10 c++的异常 13.11 面向对象编程的优点 13.12 总结 13.13 练习 第14章 从c到java 14.1 输出 14.2 变量和类型 14.3 类和抽象数据类型 14.4 重载 14.5 类的创建和销毁 14.6 面向对象编程和继承 14.7 多态和重写方法 14.8 applet 14.9 java的异常 14.10 java和oop的优势 14.11 总结 14.12 练习 附录a 标准函数库 附录b c的语法 附录c ansi c与传统c的比较 附录d ascii字符码 附录e 操作符的优先级和结合性
I made this file by collecting kinds of paper test information online in about half a year. I made it public to help the ones hunting for jobs like myself last year. If anything is wrong, Please contact me by CSDN or Peking Moment at gmail dot com. You can print or note this file by yourself without纸上谈兵 刖音……… 操作系统及 linux 14 1.进程与线程 1)同步机伟 14 2)进程通信… 15 3)同步与通信 4)进程调度 16 5)多进程与多线程的区别….17 6)死锁 17 7〕)进程与线程 18 2. fork ““““““““““““““ 18 3. Linux…………… 20 4, RAID 21 5.测试…. 1面 道面准 21 6.堆栈数据代码区 …22 7.文件读写 n1道面1面面主B1 23 1) fclose(……… 23 2)fopen 23 3fseek0 .24 4)fread 24 5) fwrite(… 24 8.硬链接与软链接 25 .C++与面向对象语言 26 1.C语言基础问题… 26 GoogLe+@http://dwz.cn/fada5 CsdN@http://dwz.cn/as2ik 1)关于 const的问题 26 2)浅复制与深复制.…. 3)逆波兰表达式 4)C语言变长参数0 a品 27 5)调用约定… 27 6)寄存器 28 7)关于内联数 inline 28 8 PACK.... 28 9)正则表达式 29 内存操作… 29 11)四种强制类型转换 31 12 sizeof …31 13)动态库与静态库 32 14)压栈·优先级·位序·宏· Union·指针 32 15)new& malloc… 35 16) enum 35 2.面冋对象编程 面面面 35 1)构造函数虚函数静态成员函数…… 35 2)copy& assignment… 36 3)列表初始化 37 4)多态… 37 5)静态绑定与动态绑定 38 6 Explicit mutable volatile internal 39 7)继承… 39 8〕)堆栈溢出 面主1面主面:aat 40 9)重载操作符 40 10) Final 1 C+ 41 3.设计模式. .41 1)UTF编码协议… 41 〕)创建型模式( creational pattern)…… 41 3)单例模式 1面a i1面 42 4)策略模式…… 主主主基主主主主 42 5)MVC……, 43 6) PIMPL….... “4 .43 7)RAIL 44 4 STL 44 1) Vector.… 44 2]upper_ bound&lower_bound 45 mAp 45 数据结构 46 1.树. 146 1)基本知识 …46 2)几个问题 46 3)完全二叉树( Complete binary tree)… 54 4)次优查找树 55 5)最优二叉树霍大曼树…… 55 6) BST: Search/insert/delete 56 7)平衡二叉树与AVL树 8)B树与B+树 57 9)红黑树 59 2.栈 59 GoogLe+@http://dwz.cn/fada5 Csdn@http://dwz.cn/as2ik 1)括号配对 59 3.链表… 61 1)单向链表交点问题 61 2)链表内环的存在间题 62 3)链表逆置反向存储… 63 4)将两个排序好的链表归并 4.图. 面道盖 主1 65 1)某本知识….,… 65 2)图的表示…, 1面自1主主主日1面主 65 )DFS&BFS…....… 6 4D&b&FW algorithm 68 5)应用 主自 着面 69 5.排序 70 1)基木知识 …70 2)快速排序 …71 3)插入排序 72 4)希尔排序… …72 5)选择排序 72 6)归并排序… 73 7)堆排序 74 8)拓扑排序… 75 9)计数排序… 76 6. Hash 76 1) Consistent Hashing…… 76 7.查找元素∴ 77 1)一般二分查找…… 77 2)循环升序数组 77 3)杨氏矩阵… 4)跨行查找字符串 81 5)Trie树 81 8.其他. 1)主定理与复杂度 81 2)静态存储与动态存储… 82 3)字符串匹配 主主面主主主 ….82 四 数据与计算机通信… 85 1 OSI 85 2.TCP协议 85 1.通路的建立 .86 2.数据传输 86 3.连接终止 87 4.拥塞控制 88 5. Soket通讯与TCP原语 88 3.UDP协议… 89 4.分组交换 90 5.HTTP协议… 90 1)TTP协议简介 2)HTTP协议方法 90 3)HT"TP响应,,…,,… 1 4)示例 91 6.IP协议… 92 1)IPv4 92 2)子网划分 92 GoogLe+@http://dwz.cn/fada5 Csdn@http://dwz.cn/as2ik 7. ICMP 93 8.ARP与RARP 93 数据库 94 1.主键/超键/候选键. 94 2 ACID 1面主 …94 3.数据库范式… n010000I 94 4.数据库中的基本语句 11面 95 5.游标 …………95 6.索引 主主主 主主基主主主主主主签主主主 95 7.语句 96 8.内连接与外连接 96 9.视图 96 六.算法及智力题目 97 1.小白鼠试毒问题及扩展… 主面⊥ 自11自主 97 2.大半找次品球问题及扩展. 主主主在主主 97 3.抽扑克牌问题. 98 4.三密码锁问题…… 面面面 99 5.猜数字问题 99 6.最大连续子序列问题 100 7.优惠券问题 101 8.闫隔翻眼镜问题.… …102 9.扔鸡蛋确定楼层问题..-. 02 10.左上右下最大流问题 106 11.三角形内产生随机数 111 12.赛与问题 …111 13.过河问题〔 intel)… 113 14.数星星问题.… 114 15.交流问题/ Gossip problem 114 16.交换问题. 15 17.换数… 18.消耗问题…… 117 19.四则算式 17 20.国王与魔鬼下棋问题 11面 121 七.数学与逻辑…… 122 1.停时定理 122 2.基本公式 123 3.实现'a+b 123 4.估算N!的位数.0 123 5.N的开方 124 6.三个数组求最大距离 126 7.6,9,140可以组合成大于N的所有数请问N最小为?…126 8.判断一个点位于一个多边形的内部? 126 9.求连续数组的最大乘积 127 10.台阶接水问题. 127 11.最小交集. 127 12.概率问题 127 1)生日悖论之二 127 2〕)升级概率问题 128 3)碰撞概率…,… 128 4)布丰投针问题,…,,… …128 )概率组合示例….129 13.排列组合问题 130 GoogLe+@http://dwz.cn/fada5 CsdN@http://dwz.cn/as2ik 1)组合 130 2)全排列 130 3)错排问题..0 133 4)输入,输出对应的所有长度为的二进制串 134 5)输入56,输出11-1621-26…51-56… 135 6)已知字符串里的字符是互不相同的,现在任意组合,比如ab,则输出a, ab,ba,bb,编程接照字典序输出所有的组合 .136 八.手写代码. 138 1. strcpy函数…,,,,, 面面1a面 …138 2.atoi.…, 自1面 主主道 138 3.itoa(Intel) 139 4.约慭夫环〔nte) 面111面D面主 139 5.二分查找函数 140 6.实现栈或者树的建立查找删除销毁操作… 141 7.斐波那契数列 141 8.求两个数组中的相同元素 141 9.查找一个中间大的数… 141 10.编写类 String的构造析构赋值函数…,…,…,,, 141 11.输入两个宇符串,输出第二个字符串在第一个字符串中的位序 143 12.方块径…… …144 13.实现积分图 145 语…… 146

33,010

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧