bitsortgen.c

来自「编程珠玑源代码 很经典 都是c和c++的源代码」· C语言 代码 · 共 30 行

C
30
字号
/* Copyright (C) 1999 Lucent Technologies */
/* From 'Programming Pearls' by Jon Bentley */

/* bitsortgen.c -- gen $1 distinct integers from U[0,$2) */#include <stdio.h>#include <stdlib.h>#include <time.h>#define MAXN 2000000int x[MAXN];int randint(int a, int b){	return a + (RAND_MAX * rand() + rand()) % (b + 1 - a);}int main(int argc, char *argv[]){	int i, k, n, t, p;	srand((unsigned) time(NULL));	k = atoi(argv[1]);	n = atoi(argv[2]);	for (i = 0; i < n; i++)		x[i] = i;	for (i = 0; i < k; i++) {		p = randint(i, n-1);		t = x[p]; x[p] = x[i]; x[i] = t;		printf("%d\n", x[i]);	}
	return 0;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?