摘要:
结构体中的成员可以是不同的数据类型,成员按照定义时的顺序依次存储在连续的内存空间。和数组不一样的是,结构体的大小不是所有成员大小简单的相加,需要考虑到系统在存储结构体变量时的地址对齐问题。看下面这样的一个结构体: struct stu1 { int i; char c; int j; }; 先介绍一个相关的概念——偏移量。偏移量指的是结构体变量中成员的地址和结构体变量地址的差。结构体大小等于最后一个成员的偏移量加上最后一个成员的大小。显然,结构体变量中第一个成员的地址就是结构体变量的首地址。因此,第一个成员i的偏移量为0。第二个成员c的偏移量是第一个成员的偏移量加上第一个成员的大... 阅读全文
posted @ 2013-04-09 09:48
E_star
阅读(5953)
评论(1)
推荐(1)
摘要:
250pt:题意:给出一个序列,该序列中可能有相同的值,然后交换任意两个数形成不同序列的数量。思路:由于这里的序列长度为n,n <= 1000 所以我们只要利用set的蛆虫特性,O(n^2)枚举swap就可以了。但是如果n非常大达到10^7怎么办?其实我们还可以利用set来记录该序列中一共出现了多少不同的数,只要出现一对不同的数那么交换这两个肯定能够得到一个不同的序列最后结果就是(set.size() - 1)*set.size()/2;View Code #define M 5007 #define N 1007 using namespace std; int n,m; class 阅读全文
posted @ 2013-04-09 08:34
E_star
阅读(316)
评论(2)
推荐(0)


浙公网安备 33010602011771号