![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
TYP
这个作者很懒,什么都没留下…
展开
-
用递归算法删除无头结点的单链表的数据为x的结点
代码来自王道书void del(LinkList &L,int x){ LNode *p; if(L==NULL) return; if(L->data==x) { p=L; L=L->next; free(p); cout<<p->data<<endl; del(L,x); } else del...原创 2020-03-20 18:49:00 · 354 阅读 · 2 评论 -
数据结构复习(简单选择排序和堆排序)
选择排序选择排序分两种,一种是简单选择排序,大家在学c语言时都学过,另一种复杂一点,叫堆排序,我们重点讲一下堆排序。堆排序首先,堆是一个完全二叉树。若每一个根节点都比它的孩子节点大,则为大根堆。若每一个根节点都比它的孩子节点小,则为小根堆。过程假设有下面8个数:(3,4,5,2,1,8,6,7),首先建立完全二叉树:接着将其转换成大根堆。我们从第n/2=4个元素开始转换,即编号为...原创 2020-02-29 19:27:04 · 120 阅读 · 0 评论 -
数据结构复习(冒泡排序与快速排序)
冒泡排序冒泡排序c语言大家都学过,就不多说,说一下补充的部分。就是当当前的数不再发生交换时,就退出循环。这样可以减少循环的次数。以及,冒泡排序是一种稳定的排序算法#include<iostream>using namespace std;int main(){ int a[20]={1,3,2,5,3,6,7,4,5,6}; int i=0,j=0,k=0; int x...原创 2020-02-27 08:58:00 · 143 阅读 · 0 评论 -
数据结构复习(插入排序)
直接插入排序#include<iostream>using namespace std;#define MAXSIZE 20typedef struct{ int key; int info;}redtype;typedef struct{ redtype a[MAXSIZE]; int length;}sqlist;sqlist stright(int b[]...原创 2020-02-24 20:02:59 · 206 阅读 · 0 评论 -
C++取地址符&用在函数的形参的优势
&用在形参有什么好处呢?最近我在复习数据结构,在打代码时发现了一个问题。书上很多形参前面都加了一个取地址符号,这到底是什么意思呢?原来,这是C++的引用,一种语法。由于我以前没有学过C++,也就在这几天待在家里学了一下,所以在debug两个小时过程中发现它的好处!引用引用变量是一个别名,也就是说,它是某个已存在变量的另一个名字。一旦把引用初始化为某个变量,就可以使用该引用名称或变量...原创 2020-02-09 15:19:40 · 4420 阅读 · 0 评论 -
迪杰斯特拉算法的python实现
迪杰斯特拉算法python的实现参考资料:数据结构(清华大学出版社)最近放暑假,想重拾数据结构,因此写了个迪杰斯特拉的代码练练手,可能会有bug。没有经过多次测试,哈哈如何插入一段漂亮的代码片// 采用矩阵来存储有向图import numpy as npg=np.array([1000,1000,10,1000,30,100,1000,1000,5,1000,1000,1000,10...原创 2019-07-11 21:45:31 · 376 阅读 · 0 评论