摘要: C++ vector 排序2009-12-21 17:17最近做的东西,要将vector 中的内容输出,结果发现有些文件被交替反复打开,所以就想吧vector 中的元素排序,学习中发现下面这篇文章总结的挺好的,分享一下也~C++中当 vector 中的数据类型为基本类型时我们调用std::sort函数很容易实现 vector中数据成员的升序和降序排序,然而当vector中的数据类型为自定义结构体类型时,我们该怎样实现升序与降序排列呢?有两种方法,下面的例子能很好的说明:方法1:我们直接来看代码吧,比较简单,容易理解:#include "stdafx.h"#include & 阅读全文
posted @ 2011-08-14 20:24 又是一年夏天 阅读(7350) 评论(0) 推荐(0)
摘要: #include <iostream>#include <algorithm>#include <vector>#include <ctime>using namespace std;int main(){ srand ( unsigned ( time (NULL) ) ); vector<int> myvector; vector<int>::iterator it; for (int i=1;i<=13;i++) { myvector.push_back(i); } random_shuffle ( myvec 阅读全文
posted @ 2011-08-12 22:23 又是一年夏天 阅读(945) 评论(0) 推荐(0)
摘要: strlenstrlen所作的仅仅是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符'\0'为止,然后返回计数器值。目录函数简介程序举例与sizeof()的区别自定义函数实现strlen()函数的功能编辑本段函数简介 原型:extern unsigned int strlen(char *s);,在Visual C++ 6.0中,原型为size_tstrlen( const char *string );,其中size_t实际上是unsigned int,在VC6.0中可以看到这样的代码:ty 阅读全文
posted @ 2011-08-11 10:23 又是一年夏天 阅读(291) 评论(0) 推荐(0)
摘要: 问题: 最近一直比较忙碌,没来得及写博客,其实也遇到和学到了好多东西,今天终于决定写了写,先写这个内容,这是我在用nehe31课读取ms3d格式文件的时候,看到他的头文件里面写到“# pragma pack( push, packing )”,就上网搜了下,正好找到了这篇介绍结构体数据对其格式的文章,觉得很好,就转载下来了。解答:struct{char a;int b;double c;} sa; 其中sizeof(char) =1; sizeof(int) = 4; sizeof(double) = 8; 所以sizeof(sa)应该等于1+4+8=13才对,编程输出sizeof(sa)的值 阅读全文
posted @ 2011-08-09 21:24 又是一年夏天 阅读(749) 评论(0) 推荐(0)
摘要: map关联容器执行唯一的键与关联值的快速保存和提取。map中不允许重复的键,每个值都只能与一个键关联。这通常称为一对一映射。例如,一家采用唯一员工编号的公司,肯能使用一个map,将员工编号和电话分机号码分别关联。利用map,能够用键快速获取相关联的数据。map也被成为关联数组(associative arry)。在map的下标运算符[]中提供键,能够在map中搜索出与这个键想关联的值。map中任何位置都可以执行插入和删除操作。#include <iostream>#include <map>using namespace std;typedef map<int,d 阅读全文
posted @ 2011-08-02 17:21 又是一年夏天 阅读(460) 评论(0) 推荐(0)
摘要: multimap关联容器用于键以及关联值(通常称为键/值对)的快速保存和存取。multiset和set中使用的许多函数,也能够用于multimap和map中。multimao和map中的元素都是键/值对而不是单个值。插入到一个multiumap或者时,使用的是一个包含键和值的pair的对象。键的顺序由比较函数对象确定。例如,在一个键类型为整数的multimap中,键能够通过比较函数对象less<int>按键的升序排序。multimap中允许重复的键,因此,多个不同的值能与同一个键相关联。这通常成为一对多关系。例如,在一个信用卡交易系统中,一个信用卡账户能有多个相关联的交易;在大学里 阅读全文
posted @ 2011-08-02 14:03 又是一年夏天 阅读(1617) 评论(0) 推荐(0)
摘要: /******************set*/#include <iostream>#include <set>#include <algorithm>#include <iterator>using namespace std;typedef set<double,less<double> > DoubleSet;//注意> >间距int main(){ const int SIZE=5; double a[SIZE] = {2.1,4.2,9.5,2.1,3.7}; DoubleSet dd(a,a+SI 阅读全文
posted @ 2011-08-02 09:30 又是一年夏天 阅读(582) 评论(0) 推荐(0)
摘要: 这里对这几个寄存器总结一下。通用寄存器的主要用途寄存器的分类寄存器主 要 用 途通用寄存器数据 寄存器AX乘、除运算,字的输入输出,中间结果的缓存AL字节的乘、除运算,字节的输入输出,十进制算术运算AH字节的乘、除运算,存放中断的功能号BX存储器指针CX串操作、循环控制的计数器CL移位操作的计数器DX字的乘、除运算,间接的输入输出变址寄存器SI存储器指针、串指令中的源操作数指针DI存储器指针、串指令中的目的操作数指针变址寄存器BP存储器指针、存取堆栈的指针SP堆栈的栈顶指针指令指针IP/EIP标志位寄存器Flag/EFlag32位CPU的段寄存器16位CPU的段寄存器ES附加段寄存器CS代码段 阅读全文
posted @ 2011-08-01 13:07 又是一年夏天 阅读(9653) 评论(1) 推荐(2)
摘要: 汇编语言学习笔记之通用寄存器从昨天开始,正式拉开了学习汇编语言的序幕,对于汇编语言的一些特点以及数据的表示及类型做了一番了解,由于这些东西每一种语言里都要介绍,而且一时半会也真弄不太明白它们的具体使用,也就粗略的看了一下,留待在今后的学习中结合实例加以体会吧。而通用寄存器应该说是CPU内部重要的数据存储资源,学习汇编语言必须要掌握清它们的功能。因此汇编语言学习的第一篇学习笔记就从通用寄存器开始了。以下内容摘自汇编教程中。寄存器是CPU内部重要的数据存储资源,是汇编程序员能直接使用的硬件资源之一。由于寄存器的存取速度比内存快,所以,在用汇编语言编写程序时,要尽可能充分利用寄存器的存储功能。寄存器 阅读全文
posted @ 2011-08-01 12:38 又是一年夏天 阅读(1073) 评论(0) 推荐(0)
摘要: 1 将下面的程序编译连接,用加载,跟踪,然后回答问题。(1)data的数据从0到f为23 01 56 04 89 07 bc 0a ef 0d ed 0f ba 0c 87 09(2)情况有不同:cs为13c7ds为13c5ss为13c6(3)data段的段地址为x-2stack段的段地址为x-12 将下面的程序编译连接,用加载,跟踪,然后回答问题。data段中的数据从0到f为23 01 56 04 0 0 0 0 0 0 0 0 0 0 0 0情况不同:cs为13c7 ds为13c5 ss为13c6data段的段地址为x-2stack段的段地址为x-1((N/16)+1)*16个字节3 将下 阅读全文
posted @ 2011-07-31 15:21 又是一年夏天 阅读(667) 评论(0) 推荐(0)