首先,今天是中秋,明天是国庆,在这说声节日快乐啊。
说点题外话,今天出去走了走,看到药店就进去称体重了。尼玛,竟然轻了4斤,本来就是100刚出头,现在倒好,直接掉下100了。我想这可能是因为最近天天熬夜,而且最近学校还规定天天要去早读(直接导致睡眠不足),直到过了英语4级。唉,大一时不能考,不知今年12月能否考过啊。所以说各位还要注意休息啊,记得要早点休息。昨天晚上就11点后就因为写这个代码直到一点才睡的。可能因为当时头脑有点晕,也许代码会有点乱或者瑕疵说着遗漏什么的,作为新人的我欢迎各位指出来哦。
看到书上的伪代码,就有把它搞成C语言的冲动。也许是还不成熟吧,别人都是直接看伪代码的,还有人会写出伪代码,可我还没达到这种境界。所以只有用C语言实现它了。
其实在写之前也看了别人写的一些之类的,所以我的算是山寨吧,哈哈,不过和书上的伪代码也差不多了。
好了,不再多说什么了,下面就是代码了,有点长。
code:
#include<stdio.h>
#include<stdlib.h>
#define TRUE 1
#define FALSE 0
#define OK 1
#define ERROR 0
#define OVERFLOW -2
#define LIST_INIT_SIZE 10
#define LISTINCREMENT 4
typedef int Status;
typedef int ElemType;
typedef struct
{
ElemType *elem; //存储机制
int length; //当前线性表的长度
int listsize; //当前分配的存储容量
}SqList;
Status InitList_Sq(SqList *L); //初始化建立线性表
void DestroyList_Sq(SqList *L); //销毁线性表
void ClearList_Sq(SqList *L); //置空线性表
Status Listempty_Sq(SqList *L); //判断线性表是否为空
Status ListLength_Sq(SqList *L); //获取线性表的长度(元素个数)
/*获取线性表第i个个位置的值*/
Status Getlem(SqList *L, int i, ElemType *e);
/*求线性表的前继元素*/
Status PriorElem(SqList *L, ElemType cur_e, ElemType *pre_e);
/*求线性表的后继元素*/
Status NextElem(SqList *L, ElemT