📄 list.cpp
字号:
//文 件 名: List.cpp
//程序功能:本程序是线性表的顺序存储结构相关操作的头文件
//作 者:张明谦
//时 间:2008年7月6日
//版 本:1.0
#include <stdlib.h>
#include "List.h"
//线性表的初始化
int Init_List(List &list)
{
//分配初始存储单元
list.Item = (itemtype*)malloc(Init_List_Size*sizeof(itemtype));
if (NULL == list.Item)
return 0;
//初始化线性表成员
list.length = 0;
list.listsize = Init_List_Size;
return 1;
}
//线性表的销毁
void Del_List(List &list)
{
//释放线性表占用的存储单元
free(list.Item);
//为防止产生野指针将list.Item赋值为空
list.Item = NULL;
//设置线性表的成员
list.length = 0;
list.listsize = 0;
}
//向线性表的第n个位置插入元素e
int Insert_List(List &list, int n, int e)
{
//若线性表尚未初始化,返回错误
if (NULL == list.Item)
return 0;
//线性表已经初始化,n大于线性表中元素个数,返回错误
if ((n > list.length+1) || ( n < 0))
return 0;
//n不大于线性表元素个数,但是线性表元素已经满,重新分配存储单元
if (list.length >= list.listsize)
{
itemtype * temp = (itemtype*)realloc(list.Item, (list.listsize+Incr_List_Size)*sizeof(itemtype));
if (NULL == temp)
return 0;
list.Item = temp;
temp = NULL;
list.listsize += Incr_List_Size;
}
//插入元素
if (n == list.length)
{
list.Item[n] = e;
list.length++;
return 1;
}
/* int i ;
if (n == 0)
{
for (i = list.length; i > 0; i--)
list.Item[i] = list.Item[i-1];
list.Item[0] = e;
list.length++;
return 1;
}
*/
for (int i = list.length; i > n; i--)
list.Item[i] = list.Item[i-1];
list.Item[n] = e;
list.length++;
return 1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -