#include"iostream.h"
#include"string.h"
//順序表的定義
templateclass seqlist
t *data;
int maxsize;//最長度大
int last;//當前最後元素下標
public:
seqlist(int);
~seqlist()
delete data;
int length() const
return last+1;
int find(t &x);//查詢
int insert(t &x,int i);//插入
int remove(t &x);//刪除
void display();//列印
int isempty()
return last==-1;
int isfull()
return last==maxsize-1;
t get(int i)//獲取
if(i>last||i<0) {cout<<"位置異常"//順序表的實現
template
seqlist::seqlist(int sz)
if(sz>0)
maxsize=sz;
last=-1;
data=new t[maxsize];
if(data==null)
maxsize=0;
last=-1;
return;
template
int seqlist::find(t &x)
int i;
for(i=0;i<=last;i++)
if (data[i]==x)
return i;
return -1;
template
int seqlist::insert(t &x,int i)
if(i<0||i>last+1||last==maxsize-1)
return 0;
else
last++;
for(int j=last;j>i;j--)
data[j]=data[j-1];
data[i]=x;
return 1;
template
int seqlist::remove(t &x)
int i=find(x);
if(i>=0)
last--;
for(int j=i;j<=last;j++)
data[j]=data[j+1];
return 1;
return 0;
template
void seqlist::display()
for(int i=0;i<=last;i++)
coutclass student
public:
int id;
char name[20];
int year;
int score;
bool operator==(const student &);
//student類的實現
bool student::operator==(const student &s)//過載==運算子
if(this==&s)
return true;
if((id==s.id)&&(strcmp(name,s.name)==0)&&(year==s.year)&&(score==s.score))
return true;
else return false;
ostream& operator<<(ostream &os,student &s)//過載《運算子
osistream& operator>>(istream &is,student &s)//過載》運算子
cout<<"請輸入此學生的學號,姓名,入學年份,分數">s.id>>s.name>>s.year>>s.score;
return is;
//主函式
void main()
int i,j,k,m;
seqlists(10);
student s1,s2,s3,s4,s5,s6,s7,s8;
int flag=0;
while(flag==0)
cout<<"順序表的實現(模板類)"cin>>j;
switch(j)
case 1:
cin>>s1>>s2;
s.insert(s1,0);
s.insert(s2,1);
break;
case 2:
cin>>s3;
i=s.find(s1);
s.insert(s3,i+1);
cin>>s4;
s.insert(s4,i);
i=s.find(s2);
cin>>s5;
s.insert(s5,i+1);
break;
case 3:
s6=s.get(0);
s.remove(s6);
k=s.length();
s7=s.get(k-1);
s.remove(s7);
break;
case 4:
cout<<"請輸入您要查詢的記錄:";
cin>>s8;
m=s.find(s8);
if(m<0)
cout<<"不存在此記錄!";
else
cout<<"存在記錄:"
case 5:
s.display();
break;
case 6:
flag=1;
break;
default:
cout<<"沒有此命令!"<
頂
順序表的實現
使用c 實現一下常用的資料結構,參考書為 資料結構 演算法與應用 c 語言描述 此次 為順序表,為了保證通用性採用模板機制,演算法本身沒有什麼難度,畢竟是基礎演算法,但是長時間不用c 一些高階特性和陷阱著實讓人難受。此次 共分三個檔案 1 sq list.h 實現順序表的結構和基本操作。2 excp...
順序表的實現
順序表很簡單,表裡面有個陣列,陣列中實際元素的個數 長度 lengthsqlcurrent,還有就是初始大小變數。可以解決約瑟夫環問題。最核心的兩個方法 刪除和插入,這兩個過程要移動元素。核心 package com.ibm.jzy.seqlist public class sqlist imple...
順序表的實現
順序表的操作 time limit 1000ms memory limit 65536k description 建立乙個順序表,然後在已建好的順序表上實現順序表插入和刪除等基本操作。最後輸出最終結果。input 有多組測試資料,每組資料由三部分組成。第一部分包含兩個整數n n 1000 和m m ...