⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 seqlist.h

📁 floyd算法 数据结构 求最短路径
💻 H
字号:
// Seqlist.cpp : Defines the entry point for the console application.
//
//建立顺序表
#include "iostream.h"
#include "stdlib.h"

const int MaxListSize=100;

class SeqList
{ private: Datatype data[MaxListSize];
           int size;
public:
         SeqList(void);
         ~SeqList(void);
         int ListSize(void) const;
         int ListEmpty(void) const;
         int Find(Datatype& item) const;
         Datatype GetData(int pos) const;
         void Insert(const Datatype& item, int pos);
         Datatype Delete(const int pos);
         void ClearList(void);
 };

SeqList::SeqList(void):size(0){ }

SeqList::~SeqList(void){ }   

int SeqList::ListSize(void) const
   { return size; }

int SeqList::ListEmpty(void) const
 { if (size==0) return 1;
   else return 0; 
  }

int SeqList::Find(Datatype& item) const
{ if (size==0) return -1;
  int i=0;
  while (i<size&&item!=data[i])i++;
  if (i<size) return i;
  else return -1;
}

Datatype SeqList::GetData(int pos) const
{ if (pos<0||pos>size-1)
   { cerr<<"参数pos越界出错!"<<endl;
     exit(1);
    }
  return data[pos];
 }

void SeqList::Insert(const Datatype& item,int pos)
{ int i;
  if (size==MaxListSize)
    { cerr<<"顺序表已满,无法插入!"<<endl;
      exit(1);
     }
  if (pos<0||pos>size)      
    { cerr<<"参数pos越界出错!"<<endl;
      exit(1);
     }
  for (i=size;i>pos;i--) data[i]=data[i-1];
  data[pos]=item;
  size++;
 }

Datatype SeqList::Delete(const int pos)
{ if (size==0)
   { cerr<<"顺序表已空,无元素可删!"<<endl;
     exit(1);
    }
  if (pos<0||pos>size-1)
   { cerr<<"参数pos越界出错!"<<endl;
      exit(1);
    }
  Datatype temp=data[pos];
  for (int i=pos;i<size-1;i++) data[i]=data[i+1];
  size--;
  return temp;
 }

void SeqList::ClearList(void)
 { size=0; }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -