学习完C之后,就开始学习数据结构,才发现我对C理解的是那么的浅,相当的浅。对于单链表的操作也是一塌糊涂,所以我打算从线性表的顺序存储结构开始,一步一步用C来实现。借鉴牛人写的,来变成自己的。
线性表的顺序存储结构可以说是最简单的。它其实就是在内存中开辟一段连续的地址空间。以下是一个例子:
#include <stdio.h> #include <stdlib.h> #include <time.h> #define MAXSIZE 20 typedef int Elemtype; //数据类型,这里假设只有一种 typedef struct sxb_t { Elemtype data[MAXSIZE]; int length; }hello; /*初始化顺序表*/ hello init_sxb() { hello L; L.length = 0; return L; } /*操作顺序表*/ hello Create(hello L) { int i; srand((unsigned)time(NULL)); for(i = 0;i < L.length;i++) { L.data[i] = rand()%100; L.length++; } return L; } int main(void) { hello list; list = init_sxb(); list = Create(list); int i; for(i = 0;i < list.length;i++) { printf("%d ",list.data[i]); } }
完