线性表顺序存储结构是指在内存上用连续的存储空间来存储数据。这就导致这种结构需要在初始化的时候就申请好需要的全部空间。如下图,每一个格子代表一片内存的存储区域,如果我们初始化了一个最大5个元素的顺序存储的线性表,那么它在内存中的存储位置,可能是0,1,2,3,4,也可能只2,3,4,5,6,总之他们的内存地址是连续的。这种结构用完空间之后就没有了,申请多大的空间也不好把握,如果申请的比较大,没有存储数据的空间别的程序也不能使用,只能浪费在哪里了,所以灵活性较小。这种结构和数组很相似,所以可以用数组来实现。Go 代码实现:package main
import (
"fmt"
"errors"
"os"
)
//最大长度
const MAXSIZE = 10
type List struct {
node [MAXSIZE]int //链表节点
len int //链表当前长度
}
func main() {
l := NewList()
for i := 0; i < 9; i++ {
n := i + 1
...
这是一份写HTML的样板,每写一个新的HTML页面都可以用它来初始化。<!--
HTML5. Use tags like <article>, <section>, etc.
See: http://www.sitepoint.com/web-foundations/doctypes/
-->
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<!--
Ask IE to behave like a modern browser
See: https://www.modern.ie/en-us/performance/how-to-use-x-ua-compatible
-->
<meta http-equiv="x-ua-compatible" content="ie=edge">
<title>My Site</title>
...
yii2的程序功能测试yii2集成了Codeception测试框架,所以是官方支持程序的单元测试,功能测试和验收测试。yii2的基本应用模板和高级应用模板都支持这三种测试。测试文件是在tests目录,很明显。这里主要是介绍怎么来用框架提供的这个测试功能。第一步安装Codeception:composer global require "codeception/codeception=2.0.*"
composer global require "codeception/specify=*"
composer global require "codeception/verify=*"第二步是添加全局命令执行命令composer global status,命令的输出应该会有一个目录,类似如下输出:Changed current directory to <directory>把<directory>/vendor/bin添加到系统环境变量path里面,这样做的目的是可以全局执行codecept命令。第三部是安装依赖包在项目根目录,就是有composer.json文...