标签:tty last 联系 let 链式 erro code 查找 type
#include <stdio.h>
#include <stdlib.h>
#define MAXSIDE 100 /*定义MAXSIDE值,线性表的大小*/
typedef int ElementType; /*定义元素类型 int double 等*/
typedef int Position;
typedef struct LNode *List;
struct LNode {
ElementType Data[MAXSIDE];
Position Last;
};
/* 初始化 */
List MakeEmpty()
{
List L;
L = (List)malloc(sizeof(struct LNode));
L->Last = -1;
return L;
}
/* 查找 */
#define ERROR -1
Position Find( List L, ElementType X )
{
Position i = 0;
while( i <= L->Last && L->Data[i]!= X )
i++;
if ( i > L->Last ) return ERROR; /* 如果没找到,返回错误信息*/
else return i;
}
/* 插入 */
bool Insert( List L, ElementType X, Position P )
{
Position i;
if ( L->Last == MAXSIDE-1){
/* 说明空间已满,不能再插入*/
printf("线性表已满");
return false;
}
if ( P<0 || P>L->Last+1 ){
printf("位置不合法");
/* 插入给的位置P有问题*/
return false;
}
/* 将顺序线性表的位置P后的元素向后移(从最后一个元素开始)*/
for( i=L->Last; i>=P; i--)
L->Data[i+1] = L->Data[i];
L->Data[P] = X;
L->Last++; /* 表的末位置加一 */
return true;
}
/* 删除 */
bool Delete( List L, Position P )
{
Position i;
if( P<0 || P>L->Last ){
printf("位置%d不存在元素",P);
return false;
}
/* 将顺序线性表P位置后的每个元素向前移(从P+1位置开始)*/
for( i=P+1; i<=L->Last; i++)
L->Data[i-1] = L->Data[i];
L->Last--;
return true;
}
标签:tty last 联系 let 链式 erro code 查找 type
原文地址:https://www.cnblogs.com/chenshaowei/p/8893601.html