zoukankan      html  css  js  c++  java
  • 顺序表

      1 #include <iostream>
      2 using namespace std;
      3 #define MAXLENGTH 20
      4 
      5 typedef struct LineList
      6 {
      7     int Array[MAXLENGTH];
      8     int curLength;
      9 }LineList;
     10 
     11 bool initial(LineList* elem)
     12 {
     13     elem->Array[0] = 0;
     14     elem->curLength = 0;
     15     return true;
     16 }
     17 
     18 //--------------------------
     19 //elem:要插入的元素
     20 //n:要插入的位置
     21 //---------------------------
     22 bool insert(LineList* array,int n,int elem)
     23 {
     24     if (n > array->curLength)
     25     {
     26         cout<<"error!"<<endl;
     27         return false;
     28     }
     29     if (array->curLength+1 == MAXLENGTH)
     30     {
     31         cout<<"overflow!"<<endl;
     32         return false;
     33     }
     34 
     35     //第一个元素不要了,从下标1开始计算
     36     //第一个元素用于保存元素个数(int类型时)
     37     for (int i= array->curLength ; i != n ;i-- )
     38     {
     39         array->Array[i+1] =  array->Array[i];
     40     }
     41     array->Array[i+1] = elem;
     42 
     43     array->curLength++;
     44     return true;
     45 }
     46 
     47 //删除位置n处的值
     48 bool deleteex(LineList* array,int* elem,int n )
     49 {
     50     if (n > array->curLength || n <= 0 )
     51     {
     52         cout<<"error!"<<endl;
     53         return false;
     54     }
     55     
     56     *elem= array->Array[n];
     57 
     58     for (int i = n ; i< array->curLength;i++)
     59     {
     60          array->Array[i] = array->Array[i+1];
     61     }
     62     array->curLength--;
     63     return true;
     64 }
     65 
     66 bool search(LineList *array ,int *elem,int n)
     67 {
     68     if (n<= 0 || n > array->curLength)
     69     {
     70         cout<<"error!"<<endl;
     71         return false;
     72     }
     73     *elem = array->Array[n];
     74     return true;
     75 }
     76 
     77 bool modify(LineList *array,int elem, int n)
     78 {
     79     if (n<= 0 || n>array->curLength)
     80     {
     81         cout<<"error!"<<endl;
     82         return false;
     83     }
     84     array->Array[n] = elem;
     85     return true;
     86 
     87 }
     88 void print(LineList array)
     89 {
     90     for (int i = 1 ; i <= array.curLength;i++)
     91     {
     92         cout<<array.Array[i]<<endl;;
     93     }
     94 }
     95 
     96 int main()
     97 {
     98     LineList array;
     99     initial(&array);
    100     if(!insert(&array,0,2))
    101     {
    102         return -1;
    103     }
    104     insert(&array,0,1);
    105     print(array);
    106     cout<<"-------------------------"<<endl;
    107     int ele;
    108     deleteex(&array,&ele,1);
    109     print(array);
    110     cout<<"-------------------------"<<endl;
    111     if(search(&array,&ele,1))
    112     {
    113         cout<<ele<<endl;
    114     }
    115 
    116     cout<<"---------------------"<<endl;
    117     if (modify(&array,5,1))
    118     {
    119         print(array);
    120     }
    121     
    122     return 0 ;
    123 }

  • 相关阅读:
    [C++] const 限定符
    [国嵌笔记][028][Bootloader设计蓝图]
    [国嵌笔记][027][ARM协处理器访问指令]
    [国嵌笔记][026][ARM伪指令]
    [国嵌笔记][025][ARM指令分类学习]
    [国嵌笔记][024][ARM汇编编程概述]
    [国嵌笔记][023][ARM寻址方式]
    [国嵌笔记][021-022][ARM处理器工作模式]
    [国嵌笔记][020][ARM家族大检阅]
    [国嵌笔记][019][Eclipse集成开发环境]
  • 原文地址:https://www.cnblogs.com/yaoxc/p/3300920.html
Copyright © 2011-2022 走看看