Notice: Undefined index: name in /usr/www/lib/views/home/viewtitle.html on line 188
-阅读程序 第 16 题
#include <iostream>
using namespace std;

const int N = 1000;
int c[N];

int logic(int x, int y) {
	return (x & y) ^ ((x ^ y) | (~x & y));
}
void generate(int a, int b, int *c) {
	for (int i = 0; i < b; i++) {
		c[i] = logic(a, i) % (b + 1);
	}
}
void recursion(int depth, int *arr, int size) {
	if (depth <= 0 || size <= 1)return;
	int pivot = arr[0];
	int i = 0, j = size - 1;
	while (i <= j) {
		while (arr[i] < pivot)i++;
		while (arr[j] > pivot)j--;
		if (i <= j) {
			int temp = arr[i];
			arr[i] = arr[j];
			arr[j] = temp;
			i++;j--;
		}
	}
	recursion(depth - 1, arr, j + 1);
	recursion(depth - 1, arr + i, size - i);
}

int main() {
	int a, b, d;
	cin >> a >> b >> d;
	generate(a, b, c);
	recursion(d, c, b);
	for (int i = 0; i < b; i++)cout << c[i] << " ";
}
● 判断题
第 1 题 当1000>=d>=b 时,输出的序列是有序的( )
第 2 题 当输入“5 5 1”时,输出为“1 1 5 5 5”( )
第 3 题 假设数组c 长度无限制,该程序所实现的算法的时间复杂度是O(b)的( )
● 单选题
第 4 题 函数int logic(int x,int y)的功能是( )
第 5 题 (4 分)当输入为“10 100 100”时,输出的第100 个数是( )

解答部分以后会开放。