顺序表基本操作代码实现

2019-05-07  本文已影响0人  keeeeeenon
#include "stdio.h"
#include "stdlib.h"
#include "string"
#define maxSize 100
//顺序表的相关操作
//1.顺序表的定义
typedef struct 
{
    int data[maxSize];
    int length;
}sqlist;
//2.顺序表常用定义
int A[maxSize];
int n;//长度
//3.顺序表的增删改查和初始化五个基本操作
int initList(sqlist &L)
{
    L.length=0;
}
//查找顺序表中值为e的元素,并返回其地址,若查找失败返回-1
int findElem(sqlist L, int e)
{
    for(int i=0;i<L.length-1;i++)
        if(e==L.data[i])
            return i;
    return -1;
}
//在顺序表中p位置插入元素e,则原来p位置和之后的元素都后移一个位置
int insertElem(sqlist &L,int p,int e)
{
    if (p<0||p>L.length||L.length>maxSize)
        return 0;
    for(int i=L.length-1;i>=p;i--)
        L.data[i+1]=L.data[i];
    L.data[p]=e;
    ++(L.length);
    return 1;
}
//删除顺序表中p位置元素,并将删除元素赋给e
int deleteElem(sqlist &L,int &e,int p)
{
    if(p<0||p>L.length-1)//错误L.length-1
        return 0;
    e=L.data[p];
    for(int i=p;i<L.length-1;i++)
        L.data[i]=L.data[i+1];
    --(L.length);
    return 1;
}
//查找p位置的值并赋给e
int getElem(sqlist L,int p,int &e)
{
    if(p<0||p>L.length-1)//错误L.length-1
        return 0;
    e=L.data[p];
    return 1;
}
上一篇 下一篇

猜你喜欢

热点阅读