这里给大家一个示例
查看原帖
这里给大家一个示例
983098
henglizuo楼主2024/5/17 19:55

可以说哈,就是那栈来模拟的,不复杂,一个库就可以了。

M[]是内存,S[]是外存,T[]是文章,a是查了几次,b是判定是否在内存里而不需要查找外存的一个数。

代码如下:

#include <stdio.h>
using namespace std;

int M[201], S[1001], T[1102], a, b;

int main() {
	int n, m, head = 0, tail = 0;
	scanf("%d %d", &m, &n);
	for (int i = 0; i < 1000; i++)
		S[i] = i + 1;
	for (int i = 0; i < n; i++)
		scanf("%d", &T[i]);
	for (int i = 0; i < n; i++) {
		b = 0;
		for (int j = head; j < tail; j++) {
			if (M[j] == T[i]) {
				b = 1;
				break;
			}
		}
		if (b == 1)
			continue;
		S[T[i]] == 0;
		if (tail - head == m)
			head++;
		M[tail] = T[i];
		tail++;
		a++;
	}

	printf("%d", a);
	return 0;
}
2024/5/17 19:55
加载中...