@数据结构(考研向)
学习目标:
线性表
学习内容:
1:线性表的结构定义(单链表的结点定义,双链表的结点定义)
2:线性表的查找(顺序查找,数据查找)
3:建立链表(头插法 尾插法)
学习时间:
2021.3.30
11:30-12:30
21:30-22:10
学习产出:
*基本操作
初始化(顺序表);
void initList(Sqlist& L) //将顺序表初始化
{
L.length = 0;
}
顺序表结构定义:
#define maxSize 100 //定义一个整数类型maxSize,值为100
typedef struct //顺序表结构定义
{
int data[maxSize]; //存放元素的数组
int length; //定义长度
}Sqlist;
单链表结点定义:
typedef struct LNode //单链表结点定义
{
int data;
struct LNode *next;
}LNode;
双链表结点定义:
typedef struct DLNode //双链表结点定义
{
int data;
struct DLNode* prior;//指向前驱结点
struct DLNode* next; //指向后驱结点
}DLNode;
顺序表的操作
例题:
//eg1:插入一个元素,并保持原有排序(两步:1 查找 2插入)
int findElem(Sqlist L, int x)//找到这个元素
{
int i;
for (i = 0; i < L.length; ++i)
{
return i;//从0到i{max}依次查找
}
return i;
顺序表的插入:
void insertElem(Sqlist &L,int x)//插入函数
{