【MOOC·数据结构】顺序表的操作
来源:互联网 发布:邪恶下载软件 编辑:程序博客网 时间:2024/06/05 19:17
MOOC·浙大《数据结构》
顺序表中重要的两个量:一维数组元素,表长度。
//定义一个顺序表
typedef struct{ ElementType Data[MAXSIZE]; int Last; //最后一个元素的位置}List;List L, *PtrL;//线性表的长度为L.Last+1 或者 PtrL->last+1
初始化,建立一个空的顺序表
List *MakeEmpty(){ List *PtrL; PtrL = (List *)malloc(sizeof(List)); PtrL->Last = -1; //长度为-1,表示空表 return PtrL;}
找到表中元素X的位置
查找平均比较次数(1+n)/2 平均时间性能O(n)
int Find(ElementType X, List *PtrL){ int i = 0; while (i < PrtL->Last && Ptrl->Data[i] != X) i++; if (i > Ptrl->Last) return -1 else return i;}
在第i个位置,对应下标i-1处插入一个元素X
void Insert(ElementType X, int i, List *PtrL){ int j; if (PtrL->Last == MAXSIZE-1) { cout << "表满" << endl; return; //退出 } if (i<1 || i > PtrL->Last+2) { cout << "位置不合法" << endl; return; } for (j = PtrL->Last; j >= i-1; j--) PtrL->Data[j+1] = PtrL->Data[j]; //从前往后移一位 PtrL->Data[i-1] = X; Ptrl->Last++; //Last指向最后一个元素位置 return;}
删除表的第i个位置上的元素,对应下标为i-1的元素
void Delete(int i, List *PtrL){ int j; if (i < 1 || i > PtrL->Last+1) //检查空表及删除位置的合法性 { cout << "不存在第" << i << "个元素" << endl; return; } for (j = i; j <= PtrL->Last; j++) PtrL->Data[j-1] = PtrL->Data[j]; //从后往前移一位 PtrL->Last--; return;}
0 0
- 【MOOC·数据结构】顺序表的操作
- 数据结构--顺序表的操作
- 数据结构-顺序表的操作
- 数据结构:顺序表的操作
- 数据结构->顺序表的操作
- 数据结构之顺序表的基本操作
- 数据结构(顺序表的两个操作)
- 顺序表的简单操作(数据结构)
- 数据结构顺序表的各种操作
- 数据结构的顺序表及其操作
- 数据结构 顺序表的操作(源代码)
- 数据结构:顺序表的基本操作
- 实现数据结构顺序表的基本操作
- 【C++/数据结构】顺序表的基本操作
- 数据结构之顺序表的操作
- 【数据结构】顺序表的基本操作
- 【数据结构】顺序表的基本操作
- 数据结构-顺序表的基本操作
- CC MSTONES(Milestones-概率)
- 承兑汇票贴现买断企业包装户出租18316998878
- 最大权闭合图/最大密度子图
- 比较详细PHP生成静态页面教程
- 2014-12-11
- 【MOOC·数据结构】顺序表的操作
- 将32位代码向64位平台移植的注意事项1
- EditPlus添加到右键菜单
- UVA442 Matrix Chain Multiplication【stack】【栈】
- 将32位代码向64位平台移植的注意事项2
- uboot1.1.6/lowlevel.S详解
- 将32位代码向64位平台移植的注意事项3
- 面试时会被问到你在公司遇到的最大问题是什么?
- A+B for Input-Output Practice (VII)