概要[データ構造]すべての接続の操作に関連したリスト

A.ノート

リニアテーブルの基本的な概念(論理プロパティ、および物理的な保管期間を)理解

1.基本概念

有限のN個の配列(N> = 0)同一のデータを線形特性要素テーブルと呼ばれ

2.論理プロパティ

これは、一方のみが「最初の」データ要素と呼ばれる存在します

一つだけが「最後」のデータ要素と呼ばれる存在

最初のものを除いて、各要素の構造は、前駆体であります

最後の添加を除いて、各要素の構造は、唯一の後輪駆動を持っています

3.用語

4.物理ストレージ

連続したメモリアドレス - >シーケンステーブル

>チェーン - 非連続格納アドレスであってもよいです

B.分枝鎖関連薄い接続

注:GCCコンパイラを介してすべての。

ソートされたリストをマージ

単変量多項式表現と追加

その基本的な操作循環リスト

その基本的な動作サイクルテーブル

双方向循環リストとその基本的な操作

二重リンクリストとその基本的な操作

単鎖とその基本的な操作

C.執筆ログ

1
ypedef是类型定义的意思。typedef struct 是为了使用这个结构体方便。
若struct node{ }这样来定义结构体的话。在定义 node 的结构体变量时,需要这样写:struct node n; 
若用typedef,可以这样写:typedef struct node{}NODE; 。在申请变量时就可以这样写:NODE n;其实就相当于 NODE 是node 的别名。区别就在于使用时,是否可以省去struct这个关键字。

2
线性表与链表中多存在的&符号 是为了给外部变量赋值 直接给到外部的地址中!

3
单链表排序部分出错 冒泡出问题
已改为选择排序 成功

4
*LinkList 其实从始至终都是拿来指向自己的

在这里修改是直接修改的 LIST本身!

*date 可以表示为直接申请一个数组空间

5
双向链表过程中
漏看了 P40 的 if(!(p=GetElem_Dul(L,i))) 内的L
且书中缺少该模块

在 InsertDulList 中 p 出现内存错误
因此发现 返回为 指针属性

依据经验增添 GetElemDulList 如下
DulList* GetElemDulList(DulLinkList &L, int i)
{
	DulList *p = L;
	int j = 0;

	while (p && j < i)
	{
		p = p->next;
		++j;
	}

	if (i<1 || j>i)
		;

	return p;
}

p->prior 出现内存错误
依据经验添加 CreatDulList_H 模块

P 持续在 InsertDulList 出现内存错误
推断为 GetElemDulList 中 指针p 移动到了 NULL
更改 while (p && j < i)
无效

排查后发现是 CreatDulList_H 中 prior 的缺失

尴尬 巨尴尬

6
循环链表 看了半天都不知道哪里有
看了看说尾巴指向头

然后我就试了一下 在 遍历 部分 把尾巴指向头 如下:

	LNode *q = L->next;
	while(q->next)
	{
		q = q->next;
	}
	q->next = L->next; 

然后就好像成功了... 可以说是极快了...

7
有序表的合并部分 
不得不吐槽一下
这他妈?
书上的代码是垃圾吗?
啊 重要是理解算法思维自己做
关键是你写的太繁杂 不如自己写啊喂
MMP 开玩笑吧 我们这个学校的老师教学也跟开玩笑一样
天大的玩笑哦
存在部分问题 

8
一元多项式的表示与相加
哇 真实 
书上写的这么多 
说白了 也就一点点东西
MMP 这部分该老师教的 我教了尼玛个锤子
P48的 P3 不知道应该是指向那里的 
后来想了想 *p3 = Pa;
对了 
笑死我了

7.2
改完了 我看指针下意识以为是结点
重新写了一遍 半途发现是尼玛的ELEM*指针
赣

公開された70元の記事 ウォンの賞賛8 ビュー1256

おすすめ

転載: blog.csdn.net/weixin_43910320/article/details/104740914