zoukankan      html  css  js  c++  java
  • 线性表—使用数组实现

    线性表的功能有:

    1)求表的长度

    2)按位查找

    3)在第i个位置中插入值为n的数

    4)删除线性表的第i 个元素

    5 )输出线性表

     1 //在头文件中"SeqList.h"
     2 const int MaxSize=100;
     3 #define T float //此处修改 数组的类型
     4 class SeqList
     5 {
     6 public:
     7     SeqList(){length=0;}
     8     SeqList(T a[],int n);
     9     ~SeqList() {}
    10     int Length(){return length;}
    11     T Get(int i);
    12     T Locate(int x);
    13     void Insert(int i,int x);
    14     T Delete(int i);
    15     void PrintList();
    16 private:
    17     T data[MaxSize];
    18     int length;
    19 };
     1 //在SwqList.cpp
     2 #ifndef SEQLIST_H_
     3 
     4 #define SEQLIST_H_
     5 #include "SeqList.h"
     6 #include<iostream>
     7 using namespace std;
     8 SeqList::SeqList(T *a,int n)
     9 {
    10     if(n>MaxSize) throw"Parameters of illegal";
    11     for(int i=0;i<n;i++)
    12         data[i]=a[i];
    13     length=n;
    14 }
    15 
    16 void SeqList::Insert(int i,int x)
    17 {
    18     if(length>=MaxSize) throw"overflow";
    19     if(i<1||i>length+1) throw"malposition";
    20     for(int j=length;j>=i;j--)
    21         data[j]=data[j-1];
    22     data[i-1]=x;
    23     length++;
    24 }
    25 
    26 
    27 T SeqList::Delete(int i)
    28 {
    29     if(length==0) throw "underflow";
    30    // if(i<1||i>length) "malposition";
    31     int x=data[i-1];
    32     for(int j=i;j<length;j++)
    33         data[j-1]=data[j];
    34     length--;
    35     return x;
    36 }
    37 
    38 T SeqList::Get(int i)
    39 {
    40     if(i<1||i>length) throw "malposition";
    41     else return data[i-1];
    42 }
    43 
    44 T SeqList::Locate(int x)
    45 {
    46     for(int i=0;i<length;i++)
    47         if(data[i]==x) return i+1;
    48     return 0;
    49 }
    50 
    51 void SeqList::PrintList()
    52     {
    53         for(int i=1;i<=length;i++)
    54         i%10==0?cout<<data[i-1]<<"
    ":cout<<data[i-1]<<"	";
    55     };
    56 #endif // SwqList_H_
  • 相关阅读:
    歌德巴赫猜想
    Dice Possibility
    ACboy needs your help(简单DP)
    Bag of mice(概率DP)
    合唱队形(LIS)
    地震预测(模拟链表)
    关于KMP算法的感想
    Card Collector
    LOOPS
    Aeroplane chess(简单概率dp)
  • 原文地址:https://www.cnblogs.com/orangebook/p/3388218.html
Copyright © 2011-2022 走看看