1.23作业

作业要求:多文件编译实现顺序表按任意元素修改;多文件编译顺序表按任意元素删除;多文件编译顺序表排序;顺序表释放空间。

程序代码:

主函数


int main(int argc, const char *argv[])
{
    printf("please input slement which you want change:");
	scanf("%d",&key);
	int change1;
	printf("please input change element");
	scanf("%d",&change1);
	change_element(list,key,change1);
	output(list);
	return 0;
}

调用函数:

void change_element(sqlist *list,int key,int change1)
{
	if(NULL==list||empty(list))
		return FALSE;
	for(int i=0;ilen;i++)
	{
		if(list->data[i]==key)
		{
			list->data[i]=change1;
		}
	}
}

运行结果:

输入:

输出:

多文件编译顺序表按任意元素删除

程序代码:

主函数

printf("please input slement which you want delete:");
	scanf("%d",&key);
	delete_element(list,key); 
	output(list);

调用函数

int delete_element(sqlist *list,int key)
{
	if(NULL==list||empty(list))
		return FALSE;
	for(int i=0;ilen;i++)
	{
		if(list->data[i]==key)
		{	for(int j=i+1;j<=list->len;j++)
			{
				list->data[j-1]=list->data[j];
			}
			list->len--;
			i--;
		}
	}
	return FALSE;
}

运行结果:

多文件编译顺序表排序

主函数

bubble(list,n);
output(list);

调用函数

void bubble(sqlist *list,int n)
{	for(int i=1;idata[j]>list->data[j+1])
			{
				int t=list->data[j];
				list->data[j]=list->data[j+1];
				list->data[j+1]=t;
			}
		}
	}
}

运行结果:

顺序表释放空间

主函数

list=free_space(list);

调用函数

sqlist *free_space(sqlist *list)
{
	if(NULL==list)
		return NULL;
	free(list);
	list=NULL;
	return list;
}

课程总结:1.23作业_第1张图片

你可能感兴趣的:(数据结构)