zoukankan      html  css  js  c++  java
  • 线性表的顺序存储结构--用数组实现

    线性表的顺序存储结构,指的是用一段连续的存储单元依次存储线性表的数据元素。 
    因为是连续的存储单元,so,,可以使用一维数组来实现它的顺序存储结构。

     1 #include <stdio.h>
     2 #define MAXSIZE 20 // 定义了线性表的最大长度20 线性表的长度<=数组的长度
     3 
     4 typedef struct ArrayList
     5 {
     6     int pBase[MAXSIZE];
     7     int length;
     8 } Arr,*pArr;
     9 
    10 void initArray(pArr p);
    11 bool addElement(pArr p,int val);//向线性表添加元素
    12 bool insertElement(pArr p,int i,int vall);//指定位置插入元素
    13 void showElement(pArr pl);//显示线性表中的全部元素
    14 bool deleteElement(pArr p,int i ,int *val);//删除指定位置的元素
    15 
    16 int mian()
    17 {
    18     Arr arr;
    19     int i;
    20     initArray(&arr);
    21     addElement(&arr,66);
    22     addElement(&arr,166);
    23     addElement(&arr,366);
    24     addElement(&arr,666);
    25     showElement(&arr);
    26     insertElement(&arr,2,-90);
    27     showElement(&arr);
    28      deleteElement(&arr ,2,&i);
    29     showElement(&arr);
    30     printf("删除的元素是 %d
    ",i);
    31     return 0;
    32 }
    33 
    34 /*初始化线性表*/
    35 void initArray (pArr p)
    36 {
    37     p->length=0;
    38 }
    39 /*线性表末尾添加元素*/
    40 bool addElement (pArr p,int val)
    41 {
    42     if(p->length==MAXSIZE)
    43     {
    44         return false;
    45     }
    46     p->length++;
    47     p->pBase[p->length-1] = val;
    48     return true;
    49 }
    50 /*线性表指定位置插入元素*/
    51 bool insertElement (pArr p,int i,int val)
    52 {
    53     if(p->length==MAXSIZE)
    54     {
    55         return false;
    56     }
    57     if(i<=p->length)
    58     {
    59         for(int k=p->length-1;k>=i-1;k--)
    60         {
    61             p->pBase[k+1] = p->pBase[k];
    62         }
    63     }
    64     p->pBase[i-1] = val;
    65     p->length++;
    66     return true;
    67 
    68 }
    69 /* 删除线性表中的指定元素*/
    70 bool deleteElement(pArr p,int i,int * val)
    71 {
    72     if(p->length==0)
    73     {
    74         return false;
    75     }
    76     *val=p->pBase[i-1];
    77 
    78     if(i<=p->length)
    79     {
    80         for(int k=i;k<p->length;k++)
    81         {
    82             p->pBase[k-1] = p->pBase[k];
    83         }
    84     }
    85     p->length--;
    86     return true;
    87 }
    88 /*线性表展示元素*/
    89 void showElement(pArr p)
    90 {
    91     int i;
    92     for(i=0;i<p->length;i++)
    93     {
    94         printf("%d",p->pBase[i]);
    95     }
    96     printf("
    ");
    97     return;
    98 }
  • 相关阅读:
    WampServer Mysql配置
    Java实现 蓝桥杯VIP 算法提高 陶陶摘苹果2
    Java实现 蓝桥杯VIP 算法提高 陶陶摘苹果2
    Java实现 蓝桥杯VIP 算法提高 陶陶摘苹果2
    Java实现 蓝桥杯VIP 算法提高 质因数2
    Java实现 蓝桥杯VIP 算法提高 质因数2
    Java实现 蓝桥杯VIP 算法提高 质因数2
    Java实现 蓝桥杯VIP 算法提高 质因数2
    Java实现 蓝桥杯VIP 算法提高 质因数2
    Java实现 蓝桥杯VIP 算法提高 前10名
  • 原文地址:https://www.cnblogs.com/CheeseIce/p/10554113.html
Copyright © 2011-2022 走看看