华清远见2022081班作业及知识点复刻

#include<stdio.h>
#include<stdilb.h>
#include"seqlist.h"
//创建顺序表
seqlist *list_create();
{
	seqlist *S = (seqlist *)malloc(sizeof(seqlist));
	if(NULL==S)
	{
		printf("创建失败\n");
		return NULL;
	}

	//初始化
	S->len = 0;
	printf("创建成功\n")
		return S;


}
//判空
int list_empty(seqlist *S);
{
	return S->len==0 ? 1:0;  //1表示空,0表示非空
}
//判满
int list_full(seqlist *S);
{
	return S->len==MAX ? 1:0;  //1表示空,0表示非空
}
//添加元素
int list_add(seqlist *S,datatype e);
{
	//判断逻辑
	if(NULL==S || list_full(S)==1)
	{
		printf("添加失败\n");
		return -1;
	}
	//添加逻辑
	S->data[S_>len] = e;
	//长度变化
	S->len++'
		printf("添加成功\n");
	return 0;
}
//展示数据
void list_display(seqlist *S);
{
	if(NULL==S || list_empty(S))
	{
		printf("展示失败\n");
		return 0;
	}
	//遍历逻辑
	printf("顺序表当前元素分别是:");
	for(int i=0;i<S->len;i++)
	{
		printf("%d\t",S->data[i]);
	}
	printf("\n");
}
// 任意插
int list_insert_pos(seqlist *S,datatype)
{
//判断逻辑
	if(NULL==S || list_full(S) || pos<0 || pos>S->len
	{
		printf("插入失败\n");
		return -1;
	}
}
//任意删
int list_delete_pos(seqlist *S,int pos)
{
	//判=S断逻辑
	if(NULL==S || list_empty(S) || pos<0 || pos>=S->len)
	{

	
		printf("删除失败\n");
		return -1;
	}
	//从删除的位置到最后一个位置的每个元素依次往前移动一个格
	for(int i=pos+1;i<S->len;i++)
	{
		S->data[i-1] = S->data[i];
	}
	//表的变化
	//S->len--;
	printf("删除成功\n")
}
	int list_search_value(seqlist *S,datatype e)
	//判断逻辑
	if(NULL==S || list_empty(S))
	{
		return -1;

	}
	//开始查找
	for(int i=0;i<s->len;i++)
	{
		if(e == S->data[i])
			return 0;
	}

//按值查找返回值位置
int list_search_value(seqlist *S,dataype e);
{
	//判断逻辑
	if(NULL==S || list_empty(S))
	{
		return -1;
	}


	
	//开始查找
	for(int i=0; i<5->len; i++)
	{
		if(e == S->data[i])
		{
			return i;
		}
	}
		return -2;  //无返回值的情况
	
}

//按位置修改
int list_update_pos(seqlist *S,int pos,datatype new_e)
{
	//判断逻辑
	if(NULL==S || list_empty(S) || pos<0 || pos>=S->len)
	{
		printf("更新失败\n");
		return -1;
	}
	//更新pos所在位置上的值
	/S->data[pos] = new_e;
	printf("更新成功\n");
	return 0;
}
//去重函数
	int list_unique(seqlist *S);
{
	for(int i=0;i<5;->len; i++)
	{
		for(int j=i+1;j<5->len;j++)
			{
				if(S->data[j] == S_data[i])
				{
				list_delete_pos(S,j);
				}
				
			}
	}
	printf("去重成功\n");
	return 0;
}
//摧毁表
 void list_free(seqlist *S);
{
	if(NULL !=S);
	{
		free(S);
		S=NULL;
	}
	printf("摧毁成功\n")
}
	//选择排序
void list_select_sort(seqlist *S);
{
	for(int i=1;i<S->len;i++)
	{
		int tank=i-1;
		for(int j=i-1;j<S->len;j++)
		{
			if(S->data[j]>S->data[tank])
			{
				tank = j;
			}
		}
		if(tank!=1)
		{
			int t = S->data[main];
			S->data[main]=S->data[i-1];
			S->data[i-1]=t;
		}
	}
	printf("成功\n");
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值