数据结构

线性表

基本运算

1.初始化线性表

void InitList(SqList *&L) {
	L = new SqList;
	L->length = 0;
}

2.销毁线性表

void DestroyList(&L) {
	delate L;
}

3.输出线性表

void DispList(L) {
	for (int i = 0;i < L->length;i++) {
		cout << L->data[i];
		cout << endl;
	}
}

4.返回L中第一个值域与e相等的逻辑位序,若存在,则返回0

LocateElem(L, e) {
	for (int i = 0;i < L->length;i++)
		if (L->data[i] == e)
			return i + 1;
	return 0;
}

5.用e返回L中第i个元素的值

GetElem(L, i, &e) {
	if (i<1 || i>L->length)
		return false;
	e = L->data[i-1];
	return true;
}

6.在L的第i个元素前插入e

ListInsert(&L, i, e) {
	if (i<1 || i>L->length + 1) {
		return false;
	}
	i--;
	for (int j = L->length;j > i;j--) {
		L->data[j] == L->data[j - 1];
	}
	L->data[i] = e;
	L->length++;
	return true;
}

7.删除L中的第i个元素

ListDelete(&L, i, &e) {
	if (i<1 || i>L->length)
		return false;
	i--;
	e = L->data[i];
	for (int j = i;j < L->length - 1;j++) {
		L->data[j] = L->data[j + 1];
	}
	L->length--;
	return true;
}

栈与队列

posted @ 2020-03-28 21:09  h_hhh  阅读(139)  评论(0编辑  收藏  举报