`
抛出异常的爱
  • 浏览: 627961 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

答复: 大数组拆分查询—记一次代码优化

阅读更多
看了一下这个贴子
http://www.iteye.com/topic/728692
大多数人都从数据库来想办法.
我是想办法抽象一下他所需要的逻辑.

class Page implements Iterator<List>{
	int page = 5;
	int start = 0 ;
	int split = start + page ;
	List list ;
	public Page(List list ){
		this.list = list;
	}
	public Page(List list ,int page ){
		this.list = list;
		this.page =page;
	}
	public boolean hasNext() {		
		return start < list.size();
	}
	public List next() {
		List result = list.subList(start, split );
		start  = split;
		split += page;
		split  = Math.min(split,list.size());		
		return result;
	}
	public void remove()  {
		throw new RuntimeException("not to change");
	}
	
}

拆分数据 .
用法:
		List list = new ArrayList<String>();
		for(int i = 0 ; i <10; i++){
			list.add("A"+i);
		}

		Iterator<List> p = new Page(list);
	
		while(p.hasNext()){
			
			System.out.println(p.next());
			
		}
分享到:
评论
2 楼 抛出异常的爱 2010-08-06  
用于等长拆分list
一个list以5为单位拆成N个list最后一个list有多少算多少
1 楼 lyy3323 2010-08-06  
没看懂。。。

相关推荐

    实习一:大数阶乘_大数阶乘C++代码_

    在编程领域,大数阶乘是一项常见的挑战,尤其是在处理大整数时。本文将深入探讨如何使用C++语言实现大数阶乘的功能。C++标准库并不直接支持大数操作,但通过自定义数据结构和算法,我们可以创建一个能够处理任意大数...

    论文:大数四则运算的C++实现.mht

    论文:大数四则运算的C++实现.mht 网上下载的

    大数加减乘运算C++源代码

    在jia函数中,我们首先将两个大数x和y合并成一个字符串pp,然后将其拆分成两个字符串a和b。接着,我们使用了一个for循环来实现大数的加法运算。在这个循环中,我们首先将a和b的每一位数字相加,然后将结果取模10以...

    大数相乘大数相加大数阶乘代码

    以下是一个简单的C++实现示例,基于字符串来表示大数: ```cpp #include #include class BigInteger { std::string value; public: // ... 构造函数、析构函数、输入输出操作等 BigInteger operator*(const ...

    大数的四则运算(附代码)

    在编程领域,大数是指超过普通整型变量所能表示范围的数值。在处理大数时,通常需要使用特殊的算法...在实际开发中,还可以考虑优化算法,比如使用Karatsuba算法或Toom–Cook算法等高效的大数乘法算法,提高计算效率。

    课题名称:大数相乘.pdf

    在乘法运算函数中,我们先从一个栈中取出一个大数 S1 的个位上的数字 a,再从另一个大数 S2 取出一个个位数字 b,接着将 a*b+d(d 为进位数)的个位数字压到栈 S 中,十位上进位的数字先保存到 d 中,然后从 S2 中取出...

    vc++大数阶乘代码

    在文件名"LarghNumfactorial"中,我们可以推测这是一个实现大数阶乘的源代码文件。打开这个文件,我们可以学习到如何在VC++中具体实现大数阶乘的算法,包括大数的表示、存储、乘法以及阶乘计算的整个过程。通过对这...

    C++大数问题

    在编程领域,尤其是在C++这样的语言中,处理大数(超过标准整型或浮点型所能表示的范围的数字)是一项挑战。大数问题通常涉及到对超出了常规数据类型限制的数值进行运算,如加法、减法、乘法和除法。在C++中,没有...

    两个N位大数的减法源代码

    而在C语言中,通常需要自定义数据结构,如数组,来存储大数,并实现相应的算法来执行加减乘除等操作。 大数减法的基本思想类似于我们平时进行的算术运算,主要步骤包括: 1. 对齐:由于大数可能是不同长度,需要在...

    大数运算c语言代码

    由于C语言没有内置的大数类型,我们可以定义一个结构体,包含一个整型数组和数组长度,来表示大数。例如: ```c typedef struct { unsigned int *digits; // 存储大数的位 int length; // 数组长度,表示大数的...

    大数运算方法

    在计算机科学领域,大数运算是一项关键的技术,特别是在加密、分布式计算、数学模拟以及金融计算等领域。当处理的数字超出普通整型或浮点型数据类型的范围时,大数运算就显得尤为重要。以下是对“大数运算”这一主题...

    课程设计:大数的加减乘除!

    这个结构体包含两个成员:一个short类型的数组`add`,用来存储大数的每一位;一个int类型的变量`n`,记录大数的位数。`add`数组长度设为`max+1`,其中`max`为2002,意味着可以存储最大2001位的数字,考虑到最高位为...

    大数四则运算(大数加减乘除,无限位数运算)

    在计算机科学中,大数(Big Number)是...总之,大数四则运算是计算机科学中一个重要的基础概念,它涉及数据结构的设计、算法的选择以及性能优化等多个方面。理解和掌握大数运算对于开发高效、准确的计算程序至关重要。

    c++大数运算算法实现_源代码 原创

    通常,大数是通过数组或者向量来表示的,其中每个元素存储大数的一部分(例如,一个数字的每一位)。在本项目中,可以预见的是,大数可能被表示为一个`std::vector&lt;int&gt;`,其中每个元素代表一个数字位。 2. **大数...

    大数运算器(c写的)

    本文将深入探讨一个基于C语言编写的大数运算器,虽然只有可执行文件“大数运算器.exe”,没有源代码可供参考,但我们仍能从中挖掘出不少有价值的知识点。 1. **C语言基础**:C语言是一种底层、高效的编程语言,被...

    PHP优化,代码优化

    5. **内存管理**:及时释放不再使用的变量,尤其是大数组,以节省内存资源。 6. **魔术方法避免**:尽量避免使用`__get`、`__set`、`__autoload`等魔术方法,它们会增加不必要的性能负担。 7. **文件包含优化**:`...

    北理工-《汇编语言与接口技术》资料-汇编代码:大数相乘+计算器+文本比较+贪吃蛇

    一、独立完成部分 1、大数相乘。要求实现两个十进制大整数的相乘(100位以上),输出乘法运算的...编写一个游戏程序,如俄罗斯方块、贪吃蛇、扫雷、简单射击类游戏等,题目自拟,要求具备一定功能难度,代码性能高。

    gaojingdu.rar_c 大数加法_c++大数除法_大数 加 减 乘 除_大数算法_高精度

    更简单的方法是使用扩展的竖式乘法,将大数拆分成多位,然后对每一位进行乘法运算,最后将结果合并。 大数除法:大数除法相对复杂,可以使用长除法算法,它类似于手动进行的除法过程,逐步计算商和余数。首先估计一...

    php一个大数组按照某一个倍数拆分成N个小数组(原生,自带演示demo)

    为了优化处理效率或满足特定需求,我们可能会需要将这个大数组按照某个倍数拆分成多个小数组。这个问题的解决方案在PHP中可以通过原生函数实现,无需额外依赖库。下面我们将详细讨论如何实现这一功能,并提供相关的...

    C++大数运算源代码

    本篇将围绕标题"**C++大数运算源代码**"和描述中的内容,深入探讨如何在C++中实现大数运算。 首先,我们关注到压缩包内的两个文件:`杨闽-C语言大数预算程序.cpp`和`HugeInt.h`。`HugeInt.h`很可能是一个头文件,...

Global site tag (gtag.js) - Google Analytics