seqlist.h

来自「这是一个关于用递推法解决求某一个集合的所有的子集。非常适合初学数据结构的同胞阅读」· C头文件 代码 · 共 95 行

H
95
字号

#include"stdio.h"
#include"stdlib.h"


typedef struct
{
	DataType list[MaxSize];
	int size;
}SeqList;



void SeqInitiate( SeqList *L )
{
	L->size = 0;
}

int ListLength( SeqList L )
{
	return L.size;
}


int SeqInsert( SeqList *L, int i, DataType x )
{
	int j = 0;
	if( MaxSize == L->size )
	{
		printf("顺序表已满!");
		return 0;
	}

	else if( i < 0 || i > L->size )
	{
		printf("参数 i 不合法 !");
		return 0;
	}
	else
	{
		for( j = L->size; j > i; j--)
			L->list[j] = L->list[j-1];

		L->list[i] = x;
		L->size ++;	
	}
	return 1;
}


int SeqDelete( SeqList *L, int i, DataType *x )
{
	int j = 0;

	if( L->size <= 0 )
	{
		printf("书序表为空!");
		return 0;
	}

	else if( i < 0 || i > L->size -1 )
	{
		printf("参数不合法!");
		return 0;

	}

	else
	{
		*x = L->list[i];

		for(j = i; j < L->size -1; j ++ )
			L->list[j] = L->list[j + 1];

		L->size --;
	}
	
	return 1;
}


int SeqGet( SeqList L, int i, DataType *x )
{
	if( i<0 || i > L.size -1 )
	{
		printf("参数错误!");
		return 0;
	}
	else
	{	
		*x = L.list[i];
		return 1;
	}

}

⌨️ 快捷键说明

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