1.rand()函数种子设定(不熟悉):
srand(seed)用来将随机序列的起始点设为seed。
srand((int)time(0))表示以当前时间对应的int值为随机序列起点,这样每次运行程序,由于起点不同才可以得到不同的随机数time函数给出从1970年1月1日00:00:00至今的秒数,它必须带一个参数,用来存储这个秒数,time()会导致语法错误,time(0)表示秒数不进行存储。
2.qsort使用中的cmp(const void *a, const void *b) 有const
3.之前不太熟悉这样的用法
const int size = 20;
struct Node
{
int c, f;
}e[size];
int cmp(const void *a, const void *b)
{
Node *c = (Node *)a;
Node *d = (Node *)b;
return c->c*c->f - d->c*d->f;
}
qsort(e, size, sizeof(e[0]), cmp);
字符串的字典序比较:
struct In
{
char a[100];
int b;
} m[100];
int cmp(const void *a, const void *b)
{
return strcmp( ((In*)a)->a, ((In*)b)->a );//或者return strcmp( (*(In *)a).a, (*(In *)b).a );
}
int main()
{
int i;
for(i = 0; i < 10; i++)
cin >> m[i].a;
qsort(m, 10, sizeof(m[0]), cmp);
for(i = 0; i < 10; i++)
cout << m[i].a << " ";
return 0;
}
4...