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

    这段时间状态非常不好,乱七八糟的事情搞得心烦意乱,得开始静下心了调整状态了,然而大心课被点名了,有点自闭

    #include <stdio.h>
    #define MaxSize 100 
    typedef int ElemType;
    typedef struct
    {
        ElemType elem[MaxSize];
        int last;//顺序表最后一个元素的位置 
    }SqList;
    
    void InitList(SqList *L)
    {
        L->last = -1;
    }
    
    int isEmpty(SqList *L)
    {
        if (L->last==-1) return 1;
        else return 0;
    }
    
    int CreateList(SqList *L, ElemType a[], int n)
    {
        if (n>MaxSize) return 0;
        for (int i = 0; i < n; i++)
            L->elem[i] = a[i];
        L->last = n-1;
    }
    
    int Get(SqList *L, int n, ElemType *ptr)//找到序号为n的元素给ptr 
    {
        if (n<1||n>L->last+1) return 0;
        *ptr = L->elem[n-1];
        return 1;
    }
    
    int Locate(SqList *L, ElemType x)//找到x在顺序表中的位置 
    {
        for (int i = 0; i <= L->last; i++)
            if (L->elem[i]==x) return i+1;
        return 0;
    }
    
    void printList(SqList *L)
    {
        for (int i = 0; i <= L->last; i++)
            printf("%d ", L->elem[i]);
    }
    
    int Insert(SqList *L,int n,ElemType x) //注意判断顺序表是否满,插入位置是否正确,然后再进行操作
    {
        if (L->last+1>=MaxSize) return 0;
        else if (n<1||n>L->last+2) return 0;
        for (int i = L->last+1; i >= n; i--)
            L->elem[i] = L->elem[i-1];
        L->elem[n-1] = x;
        L->last++;
        return 1;
    }
    
    int Delete(SqList *L, int n) // 注意判断条件,参考insert
    {
        if (n<1||n>L->last+1) return 0;
        for (int i = n-1; i < L->last; i++)
            L->elem[i] = L->elem[i+1];
        L->last--;
        return 1;
    }
    int main()
    {
        SqList L;
        ElemType a[10];
        for (int i = 0; i < 10; i++)
            scanf("%d", &a[i]);
        InitList(&L);
        CreateList(&L, a, 10);
        printList(&L);
        
        Insert(&L, 5, 11);
        printf("
    ");
        printList(&L);
        
        Delete(&L, 8);
        printf("
    ");
        printList(&L);
        
        return 0;
    }
  • 相关阅读:
    Android x86 镜像分析之四
    Android x86 镜像分析之三
    Android x86 镜像分析之二
    Android x86镜像分析
    tizen镜像制作
    完成登录与注册页面的前端
    JavaScript 基础,登录前端验证
    CSS实例:图片导航块
    导航,头部,CSS基础
    web基础,用html元素制作web页面
  • 原文地址:https://www.cnblogs.com/wizarderror/p/10623981.html
Copyright © 2011-2022 走看看