华清远见作业第十四天

发布时间:2023年12月21日

思维导图

1、顺序表按元素删除

代码:

int  delete_num_delete(sqlist *list,datatype key)
{
	int index=seek_num(list,key);//元素查找函数

	if(index==-1)
	{
		return -1;
	}
	delete_index(list,index);
	return 0;
}

2、顺序表按照元素修改

代码:

//顺序表按照元素修改
void exchange(sqlist *list ,int key,int element)
{
	int index=-1;
	index=seek_num(list,key);//元素查找函数
	if(index==-1)
	{
		printf("没有找到\n");
	}else
	{
		list->data[index]=element;
	}
}

3、顺序表按照元素查找

代码:

//按照元素查找
int  seek_num(sqlist *list,datatype key)
{
	int index=-1;
	for(int i=0;i<list->len;i++)
	{
		if(key==list->data[i])
		{
			index=i;
		}
	}
	if(index==-1)
	{
		return -1;
	}
	else
	{
		return index;
	}
}

4、顺序表去重

代码:

//顺序表去重
void delete_duoyu(sqlist *list)
{
	for(int i=0;i<list->len-1;i++)
	{
		for(int j=i+1;j<list->len;j++)
		{
			if(list->data[i]==list->data[j])
			{
				delete_index(list,j);//根据下标删除
				j--;
			}
		}
	}
}

5、顺序表排序

代码:

void bubble(sqlist *list)
{
	for(int i=1;i<list->len;i++)
	{
		for(int j=0;j<list->len-i;j++)
		{
			if(list->data[j]<list->data[j+1])
			{
				datatype t=list->data[j+1];
				list->data[j+1]=list->data[j];
				list->data[j]=t;
			}
		}
	}
	puts("排序后效果为:");
	output(list);
}

6、顺序表释放

代码:

//释放内存
sqlist *free_space(sqlist *list)
{
	if(NULL==list)
	{
		return NULL;	
	}
	free(list);
	list=NULL;
	return list;
}

文章来源:https://blog.csdn.net/m0_62462327/article/details/135139831
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。