9.1上节OJ作业讲解
test1
Description:
考的跟课上讲的基本一致,考的是如何读取结构体并打印输出。
注意姓名的格式是字符串%s,不是字符%c。
test2:
Description:
如果说只是使用前面的方法去用数组存储字符串,那么我们发现不能忽略空格。
这题主要采用C++的引用的使用,在我们的子函数内,如何修改main函数中的指针变量值。
这里的 fgets函数属于超纲内容:
下面是具体用法:
中间参数是指第一个参数空间的大小。
答案如下:
#include#include void modify_pointer(char *&p) //因为申请的空间类型必须与传入的行参类型相同,所以都是char类型,* && &都只是操作符 {p=(char*)malloc(100); //申请空间fgets(p,100,stdin);//如果使用fgets传入的是一个指针变量,中间参数是指指针指向的空间的大小 }int main() {char*p=NULL;modify_pointer(p);puts(p);free(p);return 0; }
9.3 逻辑结构与存储结构
逻辑结构有哪些呢?
存储结构又哪些呢?
ep:
线性表(线性结构)中,由于存储结构的不同,可以分为线性表和链表。
9.4时间复杂度和空间复杂度
算法的定义
时间复杂度指算法中所有语句的频度(执行次数)之和’
记为:
T(n)=O(f(n))
这里的n是问题的规模,f(n)是问题规模n的某个函数
表示着随着问题规模的增大,算法执行时间的增长率和f(n)的增长率相同。
常对幂指阶
空间复杂度S(n)是指算法运行过程中所使用的辅助空间的大小。
记为:
S( n)=O(f(n))