第八周知识总结

1.复习c语言的编程题

2.学会了线性表的合并,查找,插入,删除等等

部分代码如下:

// 初始化线性表 L,将 size 设为 0。
void initial(List *L) {
// 分配一段的元素的内存空间。
L->elem = (ElemType *) calloc(SEGMENT, sizeof(ElemType));
L->size = 0; // 线性表初始状态为空。
L->capacity = SEGMENT; // 线性表初始内存容量。
}

// 取得线性表 L 的大小,返回元素个数。
int getSize(List L) {
return L.size; // 线性表 L 的大小。
}

// 取得线性表 L 的内存容量。
int getCapacity(List L) {
return L.capacity; // 线性表 L 的内存容量。
}// 从 L 取得位置 i 的元素 e, 若 0<=i<size 返回 e,否则,返回值 -1。

ElemType getElem(List L, int i) {
if (i>=0 && i<L.size) return L.elem[i]; // 若 0<=i<size,返回 e。
else return -1; // 否则,返回值 -1。
}

// 搜寻元素 e 在 L 中的位置。若成功,返回 e 的索引;否则,返回 -1。
int search(List L, ElemType e) {
int i; // 循环变量。

for (i=0; i<L.size; i++)
if (L.elem[i]==e) return i; // 搜寻成功。
return -1; // 搜寻失败。
}

// 将元素 e 插入到 L 适当的位置。插入完成时,返回 e 的位置。


// 从 L 删除元素 e。若成功,返回 e 原来的位置;否则,返回 -1。
int delete(List *L, ElemType e) {
int i, j; // 循环变量。

for (i=0; i<L->size; i++)
if (L->elem[i]==e) break; // 找到删除元素的位置。
else if (L->elem[i]>e) return -1; // 元素 e 不是线性表 L 的元素,删除失败。

// 假如 i==size, 元素 e 不是线性表 L 的元素,删除失败。
if (i==L->size) return -1; // 删除失败。

// 将元素 i 之后的元素往前移一个位置。
for (j=i; j<L->size; j++) L->elem[j] = L->elem[j+1];

L->size--; // 更新线性表的元素个数。
// 如果线性表的内存容量比元素个数多出两段元素,则将内存容量减少一段元素。
if ((L->capacity-L->size)>=SEGMENT*2) {
L->elem = (ElemType *) realloc(L->elem,(L->capacity-SEGMENT)*sizeof(ElemType));
L->capacity -= SEGMENT;
}
return i; // 返回删除元素 e 的位置。
}

// 将线性表 L 銷毀,释放线性表的内存空间。
void destroy(List *L) {
free(L->elem); // 释放线性表的内存空间。
L->capacity = 0; // 重设线性表的内存空间为 0。
L->size = 0; // 线性表的元素个数为 0。
}

// 将线性表 L 清空。
void clear(List *L) {
// 重新分配内存空间。
L->elem = (ElemType *) realloc(L->elem, (SEGMENT)*sizeof(ElemType));
L->size = 0; // 重设元素个数为 0。
L->capacity = SEGMENT; // 重设内存空间。
}

// 檢查线性表 L 是否為空表。若是空,返回 1;否则,返回 0。
int is_empty(List L) {
return L.size==0; // 若个数为 0,则为空,否则,不是空。
}

// 打印线性表元素。
void printlst(List L) {
int i; // 循环变量。

printf("线性表内存容量:%3d 元素\n", L.capacity);
printf("线性表元素个数:%3d 元素\n", L.size);

for (i=0; i<L.size; i++){
printf("%3d ", L.elem[i]); // 打印第 i 个元素。
if ((i+1)%20==0) printf("\n"); // 每行 20 个元素。
}
if ((i%20)!=0) printf("\n"); // 若不足 20 个元素,打印一个换行。
printf("\n"); // 打印一个换行。 

}

3.复习了操作系统的第一二章的内容,并整理了笔记

(部分笔记如下)

猜你喜欢

转载自www.cnblogs.com/mju3197103150/p/12806261.html
今日推荐