数据结构代码训练——顺序表

#include <stdio.h>

#define ElemType     int
#define MAXSIZE      1000
#define TRUE         1
#define FAULSE       -1

typedef struct{
	ElemType  data[MAXSIZE];
	unsigned int length;
}SeqList;

//查找数据
int Search_Elem(SeqList L,ElemType a)
{
	int i;
	for(i = 0;i < L.length;i++)
	{
		if(L.data[i] == a)
			return i;
	}

	return FAULSE;
}
//插入操作
int insert_data(SeqList *L,int location,ElemType a)
{
	int i;
	if(location > L->length || L->length >= MAXSIZE)
	{
		return FAULSE;
	}
	for(i = L->length;i >= location; i--)
		L->data[i] = L->data[i-1];
	L->data[location-1] = a;
	L->length++;

	return TRUE;
}
//删除操作
int delete_data(SeqList *L,int location)
{
	int i;
	if(location > L->length || L->length >= MAXSIZE)
	{
		return FAULSE;
	}
	for(i = location - 1;i < L->length;i++)
	{
		L->data[i] = L->data[i+1];
	}
	L->length--;
}

void main(void)
{
	SeqList L;
	int ret;	
	int i;

	L.length = 100;
	for(i = 0;i < L.length;i++)
		L.data[i] = i;

	
	ret = Search_Elem(L,6);
	ret = insert_data(&L,20,560);

	ret = delete_data(&L,Search_Elem(L,5));
	//for(i=0;i<L.length;i++)
    //printf("%d        %d\n",i,L.data[i]);
}

猜你喜欢

转载自blog.csdn.net/u012133341/article/details/80003977