自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

转载 基础的数据结构就是数组和链表

学了这么久的数据结构和算法,今天突然顿悟,基础的数据结构就是数组和链表, 而后面更加复杂的 树 队列 图 等等 都可以通过数组和链表等方式存储, 出现树 队列 图 等数据结构的原因 就是为了解决 部分问题处理过程中时间复杂度过高的问题, 所以数据结构就是为了算法而生的! 尤其是学习了时间复杂度过后 在工作和学习过程中 就应该分析自己的代码复杂度 以进行优化或者选择更好的数据结构和算法!这样才能写出更好的代码更好的解决问题 转载数据结构与算法之美:https://time.geekbang.org/c.

2020-10-18 20:56:50 246

原创 golang顺序栈实现

package main import ( "fmt" ) type arraystack struct { items []string//切片 count int //栈中元素个数 n int //栈的大小 } //初始化 func (this *arraystack) arraystack(n int){ this.n=n this.count=0 } //入栈 func (this *arraystack) push(item string){ .

2020-10-07 19:42:41 220

原创 golang中 值类型,指针,引用的区别

如果a:=1 b:=2 c:= &a c1:=c 那么 c指向a,c里面存放的是a的地址 ,*c是a的值 c1是c的引用, c1与c是独立的(地址),打印c与c1是不相同的地址,但是*C(比如*C=3,那么*c1也是3)

2020-09-23 20:21:30 1041

原创 Golang选择排列

package main import ( "fmt" ) func main() { var arr = [...]int{9, 8, 7, 6, 5, 4, 3, 2, 1, 0} sz := len(arr) fmt.Printf("未排序数组") test(&arr, sz) selectSort(&arr, sz) test(&arr, sz) } ...

2020-09-22 19:57:11 110

原创 链栈的入栈出栈实现

#include <stdio.h> #include<stdlib.h> typedef struct lineStack{ int data; struct lineStack *next; }lineStack; //stack为当前的链栈,a表示入栈元素 lineStack *push(lineStack *stack,int a){ //创建存储新元素的节点 lineStack *line=(lineStack*)malloc(sizeo...

2020-09-07 16:14:10 560

原创 设计一个递归算法,删除不带头结点的单链表L中所有值为x的结点。

# include <stdio.h> #include<malloc.h> #include<stdlib.h> typedef int ElemType; typedef struct LNode{ ElemType data; struct LNode *next; //递归定义 }LNode,*LinkList; //typedef struct LNode LNode; 将结构体类型struct LNode重命名为LNode...

2020-09-06 21:51:21 742

原创 从顺序表中删除具有最小值的元素(假设唯一)并由函数返回被删除元素的值。空出的位置由最后一个元素填补,若顺序表为空则显示出错信息并退出运行。

# include <stdio.h> # include <stdlib.h> #define Initsize 100 typedef int ElemType; typedef struct { ElemType *data; int MaxSize,length; }seqList; /*C语言中, -> 是指针操作符, 点是结构操作符。 如果 L 是一个结构实例的指针,要用 -> 访问结构里的变量,而不能用点。 如果L 是一个结构的实例...

2020-09-06 15:13:55 1475

转载 golang中len和cap的区别

首先要搞清楚容量和长度的区别: 容量是指底层数组的大小,长度指可以使用的大小 容量的用处在哪?在与当你用 appen d扩展长度时,如果新的长度小于容量,不会更换底层数组,否则,go 会新申请一个底层数组,拷贝这边的值过去,把原来的数组丢掉。也就是说,容量的用途是:在数据拷贝和内存申请的消耗与内存占用之间提供一个权衡。 而长度,则是为了帮助你限制切片可用成员的数量,提供边界查询的。所以用 make 申请好空间后,需要注意不要越界【越 len 】 ...

2020-08-20 10:48:34 1291 1

转载 Go语言学习第一天,安装目录说明

api— 目录,包含所有API列表,方便IDE使用 bin— 目录,存放编译后的可执行文件 blog— 目录, doc— 目录,帮助文档 lib— 目录, misc— 目录, pkg— 目录,存放编译后的包文件。pkg中的文件是Go编译生成的 src— 目录,存放项目源文件 注:一般,bin和pkg目录可以不创建,go命令会自动创建(如 go install),只需要创建src目录即可。 Authors— 文件,作者列表,用记事本打开 CONTRIBUTING.md— 文件, CON.

2020-08-18 21:51:06 153

原创 《TCP/IP网络编程》尹圣雨 第二章2.3习题

(1)什么是协议?在收发数据中定义协议有何意义? 如果相隔很远的两人想展开对话,必须先决定对话方式。如果一方使用电话,那么另一方也只能使用电话,而不是书信。可以说,电话就是两人对话的协议。协议是对话中使用的通信规则,上述概念扩展到计算机领域可整理为“计算机间对话必备通信原则”。 简言之,协议就是为了完成数据而定好的约定。 (2)面向连接的TCP套接字传输特性有3点,请分别说明。 在创建套接...

2019-05-30 19:41:06 802

原创 《TCP/IP网络编程》尹圣雨 第一章1.5习题

(1)套接字在网络编程中的作用是什么?为何称它为套接字? 网络编程就是编写程序使两台连网的计算机相互交换数据。两台计算机传输数据,在不考虑物理连接(如今大部分计算机都已连接到庞大的物联网,因此不用考虑到物理连接)的情况下,套接字是网络数据传输用的软件设备。 我们把插头插到插座上就能从电网获得电力供给,同样,为了与远程计算机进行数据传输,需要连接因特网,而编程中的“套接字”就是用来连接该网络的工...

2019-05-27 19:33:54 351

转载 C++Primer练习与答案——3.3.3节

练习: 3.16:编写一段程序,把练习3.13中vector对象的容量和具体内容输出出来。检验你之前的回答是否正确,如果不对,回过头重新学习3.3.1节直到弄明白错在何处为止。 1 【解答】: #include<iostream> #include<vector> #include<string> using namespace std; int mai...

2019-05-13 18:44:12 124

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除