c 实现删除无序表中的重复元素

时间复杂度位为O(n^2)

//删除重复值
bool Del_r(SqList &L) {
	int y = 1, flag = 0;
	for (int i = 1; i < L.length; i++) {
		for (int j = 0; j <= i - 1; j++) {
			if (L.data[i] == L.data[j]) {
				flag = 1;
				break;
			}
		}
		if (flag == 0) {
			L.data[y] = L.data[i];
			y++;
		}
			
		flag = 0;
	}
	L.length = y;
	return true;
}

如果想要更高效,可采用hash。

posted on 2023-01-05 20:59  mcyn  阅读(190)  评论(0)    收藏  举报

导航