RemoveInsert

删除顺序表L中下标为p(0≤p≤length-I)的元素,成功返回l,否则返回0,并将被删除元素的值赋给e。

/***********************************************************
 *
 *    file name:
 *    author   :     19870326073@163.com
 *    date     :     2024/04/22
 *    function :
 *    note     :     None
 *
 *    CopyRight (c)  2023-2024  19870326073@163.com  All Right Reseverd
 *
 * ***********************************************************/

/***********************************************************
 *
 *    函数名称:     SeqList_Remove
 *    函数功能:     **删除顺序表L中下标为p(0≤p≤length-I)的元素,成功返回l,否则返回0,并将被删除元素的值赋给e。**
 *    函数参数:
 *
 *
 *    返回结果:
 *    注意事项:     None
 *    函数作者:     19870326073@163.com
 *    创建日期:     2024/04/22
 *    修改历史:
 *    函数版本:     V1.0
 * ***********************************************************/


int SeqList_Remove(*L,int p)
{
	int e = 0;//变量e,记录待删除元素的值
    
	//判断下标p的范围是否合理
	if(p < 0 || length -1)
	{
		return 0;
	}
	
	//把待删除元素的值备份到变量e中
	e = L[p];
	
	//把待删除元素的后继元素向前移动一个单位  
	for (int i = p;i<length;++i)
	{
		L[i]=L[i+1];
	}
	return 1;
}

已知一个顺序表L,其中的元素递增有序排列,设计一个算法,插入一个元素x(x为int型)后保持
该顺序表仍然递增有序排列(假设插入操作总能成功)。

/***********************************************************
 *
 *    file name:
 *    author   :     19870326073@163.com
 *    date     :     2024/04/22
 *    function :
 *    note     :     None
 *
 *    CopyRight (c)  2023-2024  19870326073@163.com  All Right Reseverd
 *
 * ***********************************************************/

/***********************************************************
 *
 *    函数名称:     SeqList_Insert
 *    函数功能:     已知一个顺序表L,其中的元素递增有序排列,设计一个算法,插入一个元素x(x为int型)后 *保持该顺序表仍然递增有序排列(假设插入操作总能成功)。
 *
 *    函数参数:
 *
 *
 *    返回结果:
 *    注意事项:     None
 *    函数作者:     19870326073@163.com
 *    创建日期:     2024/04/22
 *    修改历史:
 *    函数版本:     V1.0
 * ***********************************************************/
void SeqList_Insert(SeqList *L,int x)
{
	int temp = -1;//记录待插入元素的下标

	//遍历顺序表,找到插入位置,比较元素
	for (int i=0; i <= last; ++i)
    {
		if (x L[i])
		{
			temp = i;
			break;
   		}
	}
    
	if( -1 == temp)
    {
		L[1ast+1] = x;
		return;
    }
    
	//把待插入位置的后继元素向后移动
	for (int i = last; i >= temp; i--)
	{
		L[i+1] = L[i];
    }
    
	L[temp]=x;
}
posted @   头像被封了  阅读(13)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示