“基础知识”的版本间的差异

来自软件实验室
跳转至: 导航搜索
数据结构
第32行: 第32行:
  
 
===排序算法===
 
===排序算法===
 +
 +
===补充内容===
 +
*[http://www.cnblogs.com/BeyondAnyTime/archive/2012/05/19/2508807.html 递归与循环的简单比较说明 ]
  
 
== 软件工程基本概念 ==
 
== 软件工程基本概念 ==

2015年11月20日 (五) 11:04的版本

计算机体系结构

C语言

基础算法

数据结构

准备内容

注意:看下面内容之前,建议先复习下c语言基本知识,可以参考郝斌的c大纲。

  1. 指针
  2. 结构体
  3. 动态内存分配

数组

文件:Arr.cpp

链表

文件:List.cpp

链表的应用

  文件:Stack.cpp
  • 队列
    • 链式队列
    • 循环队列
   文件:CircleQueue.cpp

线性结构和非线性结构的分界线


排序算法

补充内容

软件工程基本概念

设计模式

番外篇

看懂一个程序的步骤

  • 流程
首先搞明白程序中语句的执行顺序。
  • 语句功能
需要在搞明白流程的基础上,看每个类,每个方法中每条语句的功能以及执行后产生的结果。PS:单步调试是个好方式
  • 试数
将自己虚拟的一些符合程序定义的数据带入程序中,看执行后的结果如何!

预防因数组下标越界导致程序出错的问题

典型的例子就是使用for循环的时候,当遍历一个数组中的所有元素时,例如


int a[4] ={1,2,3,4};

int i;

for(i = 0; i < 4;i++) {

   // do Somethings...

}


在这里使用的是i<4而不是i<=3,我们以高等数学中的一张图来解释:

数组内容表示.png

按照图示内容进行分析可以尽量避免数组越界导致的一些问题!