⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 04071505list.h

📁 数据结构的部分算法程序。相对来说是通用算法中效率比较高的程序
💻 H
字号:
//通用头文件
#include<malloc.h>
const LIST_INIT_SIZE=100;
const LISTINCREMENT=10;
struct SList//定义结构体
{
	ElemType *elem;
	int length,listsize;
};
bool ListInit(SList&L)//初始化函数
{
	L.elem=new ElemType[LIST_INIT_SIZE];
	if(!L.elem)return false;
	L.length=0;
	L.listsize=LIST_INIT_SIZE;
	return true;
}
void visit (ElemType e){cout<<e<<"  ";}//输出函数
void ListTranverse(SList L)//遍历函数
{
	int i;
	for(i=1;i<=L.length;i++)visit(L.elem[i-1]);
}
bool ListInsert(SList&L,int i,ElemType e)//将一个元素插入到表的制定位置
{
	int j;ElemType*newbase;
	if((i<1)||(i>L.length+1))return false;
	if(L.length==L.listsize)
	{
		newbase=(ElemType*)realloc(L.elem,(L.listsize+LISTINCREMENT)*sizeof(ElemType));
		if(!newbase)return false;
		L.elem=newbase;
		L.listsize+=LISTINCREMENT;
	}
	for(j=L.length-1;j>=i-1;j--)
		L.elem[j+1]=L.elem[j];
	L.elem[i-1]=e;
	L.length++;
	return true;
}
bool ListDelete(SList &L,int i)//删除表中某个位置的元素(因为这次的题目不必要保留删除的元素,所以做了修改)
{
	int j;
	if((i<1)||(i>L.length))return false;
	for(j=i-1;j<L.length-1;j++)
		L.elem[j]=L.elem[j+1];
	L.length--;
	return true;
}
int compare(ElemType a,ElemType b)//顺序表元素的比较
{
	if(a<b)return 0;
	else
		return 1;
}
int ListLocate(SList L,ElemType e)//表中元素的位置
{
	int i=1;
	while(i<=L.length&&!compare(L.elem[i-1],e))i++;
	if(i>L.length)i=0;
	return i;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -