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

📄 array_common.c

📁 试写一个算法
💻 C
字号:
/**********************************************************************************************************************************/#include "array_common.h"/**********************************************************************************************************************************//**********************************************************************************************************************************//**********************************************************************************************************************************//**********************************************************************************************************************************//*以下为各函数的实现*//**********************************************************************************************************************************//**********************************************************************************************************************************//**********************************************************************************************************************************//**********************************************************************************************************************************/struct array_init array_Create(LONGINT data_size,LONGINT data_cable){	struct array_init array_build;	DATA_TYPE *data_pointer=(DATA_TYPE*)malloc(sizeof(DATA_TYPE)*data_size);/*建立空间*/	/*初始化*/	array_build.array_pointer=data_pointer;	array_build.array_space=data_size;	array_build.array_point=0;	array_build.array_length=0;	array_build.array_cable=data_cable;	return array_build;};struct array_cur array_Curcreate(struct array_init* array_point){	struct array_cur new_cur;	new_cur.array_name=array_point;	new_cur.array_point=0;	return new_cur;};LONGINT array_Size(struct array_cur* cur_name){	return cur_name->array_name->array_space;};LONGINT array_Length(struct array_cur* cur_name){	return cur_name->array_name->array_length;};SHORTINT array_Eof(struct array_cur* cur_name){	if(cur_name->array_name->array_point>=(cur_name->array_name->array_length-1))return 1;	return 0;};void array_Expand(struct array_cur* cur_name){	LONGINT newsize;	DATA_TYPE *data_pointer;	LONGINT i=0;	newsize=cur_name->array_name->array_space+cur_name->array_name->array_cable;	data_pointer=(DATA_TYPE*)malloc(sizeof(DATA_TYPE)*newsize);	if(data_pointer==NULL)return;		for(;;)	{		data_pointer[i]=(cur_name->array_name->array_pointer[i]);		i++;		if(i>(cur_name->array_name->array_length-1))break;	};	cur_name->array_name->array_space=newsize;	free(cur_name->array_name->array_pointer);	cur_name->array_name->array_pointer=data_pointer;};LONGINT array_Append(DATA_TYPE indata,struct array_cur* cur_name){	if(cur_name->array_name->array_length>=cur_name->array_name->array_space)array_Expand(cur_name);		if(cur_name->array_name->array_length==0)	{		cur_name->array_name->array_pointer[0]=indata;		cur_name->array_name->array_length++;		return cur_name->array_name->array_space;	};		cur_name->array_name->array_length++;	array_Last(cur_name);	array_Set(indata,cur_name);		return cur_name->array_name->array_space;};LONGINT array_Insert(DATA_TYPE indata,struct array_cur* cur_name){	LONGINT i=cur_name->array_name->array_length-1;		if(cur_name->array_name->array_length>=cur_name->array_name->array_space)array_Expand(cur_name);			for(;;)	{		if(i<cur_name->array_name->array_point)break;		cur_name->array_name->array_pointer[i+1]=cur_name->array_name->array_pointer[i];		i--;	};		array_Set(indata,cur_name);		cur_name->array_name->array_length++;		return cur_name->array_name->array_space;	};LONGINT array_Remove(struct array_cur* cur_name){	LONGINT i;	LONGINT now_side;	i=cur_name->array_name->array_point;	now_side=i;		for(;;)	{		if(i>=cur_name->array_name->array_length)break;		cur_name->array_name->array_pointer[i]=cur_name->array_name->array_pointer[i+1];		i++;	};		cur_name->array_name->array_length--;		if(cur_name->array_name->array_point==0)	{		array_Last(cur_name);	}	else	{		array_Goto((now_side-1),cur_name);	};		return cur_name->array_name->array_space;};void array_First(struct array_cur* cur_name){	cur_name->array_name->array_point=0;};void array_Next(struct array_cur* cur_name){	if(cur_name->array_name->array_point>=(cur_name->array_name->array_length))return;	cur_name->array_name->array_point++;};void array_Prev(struct array_cur* cur_name){	if(cur_name->array_name->array_point==0)return;	cur_name->array_name->array_point--;};void array_Last(struct array_cur* cur_name){	cur_name->array_name->array_point=cur_name->array_name->array_length-1;};void array_Goto(LONGINT array_location,struct array_cur* cur_name){	if(array_location<0||array_location>=cur_name->array_name->array_length)return;	cur_name->array_name->array_point=array_location;};DATA_TYPE array_Get(struct array_cur* cur_name){	return cur_name->array_name->array_pointer[cur_name->array_name->array_point];};LONGINT array_Getlocal(struct array_cur* cur_name){	return cur_name->array_name->array_point;};void array_Set(DATA_TYPE indata,struct array_cur* cur_name){	cur_name->array_name->array_pointer[cur_name->array_name->array_point]=indata;};void array_Drop(struct array_cur* cur_name){	free(cur_name->array_name->array_pointer);};/**********************************************************************************************************************************//**********************************************************************************************************************************//**********************************************************************************************************************************//**********************************************************************************************************************************//*调试用*//**********************************************************************************************************************************//**********************************************************************************************************************************//**********************************************************************************************************************************//**********************************************************************************************************************************/

⌨️ 快捷键说明

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