zoukankan      html  css  js  c++  java
  • 顺序表基本操作

    #include<stdio.h>
    #define MaxSize 10
    typedef int ElemType;
    typedef struct{
    ElemType data[MaxSize];
    ElemType length;
    }SqList;
    void InitList(SqList &L)	//初始化
    {
    L.length=0;
    }
    bool InserList(SqList &L,ElemType i,ElemType e)	//插入操作
    {
    if(i<0 || i>L.length+1 || L.length>=MaxSize)
    return false;
    for(ElemType j=L.length;j>=i;j--)    //将i及i后面位置元素依次后移
    L.data[j]=L.data[j-1];
    L.data[j]=e;
    L.length++;
    return true;
    }
    bool DeleteList(SqList &L,ElemType i,ElemType &e)	//删除操作
    {
    if(i<0 || i>L.length)
    return false;
    e=L.data[i-1];
    if(L.length==0)
    return false;
    for(ElemType j=i-1;j<L.length;j++)    //将i及i后面位置依次前移
    L.data[j]=L.data[j+1];
    L.length--;
    return true;
    }
    int GetElem(SqList L,ElemType i)	//按值查找
    {
    if(i<0 || i>L.length)
    return 0;
    return L.data[i-1];
    }
    int LocateElem(SqList L,ElemType e) //按位查找
    {
    for(int j=0;j<L.length;j++)
    if(L.data[j]==e)
    return j+1;
    return 0;
    }
    void PrElemType(SqList L)	//输出
    {
    for(ElemType i=0;i<L.length;i++)
    printf("data[%d]=%d
    ",i,L.data[i]);
    }
    void main()
    {
    SqList L;
    ElemType e=-1;
    InitList(L);
    InserList(L,1,2);
    InserList(L,2,3);
    InserList(L,3,4);
    InserList(L,4,5);
    InserList(L,1,10);
    InserList(L,7,20);
    PrElemType(L);
    printf("e=%d
    ",e);
    printf("第%d个位置是%d
    ",2,GetElem(L,2));
    printf("10是第%d个元素
    ",LocateElem(L,10));
    printf("*********************
    ");
    DeleteList(L,2,e);
    PrElemType(L);
    printf("e=%d
    ",e);
    }
    

      

  • 相关阅读:
    vscode 远程编辑文件
    neo4j
    sqlite3-python
    pypdf2:下载Americanlife网页生成pdf合并pdf并添加书签
    thisamericanlife 百度api及腾讯翻译-正式版
    为微信二维码添加gif动态背景
    python- www.thisamericanlife.org转pdf
    python爬虫添加请求头
    Python-redis
    k8s权威指南-从xx到oo的实践全接触
  • 原文地址:https://www.cnblogs.com/-slz-2/p/13154570.html
Copyright © 2011-2022 走看看