幫助學生熟練掌握順序表的建立及基本操作
問題描述:設計乙個順序表並實現對其進行基本操作。
基本要求:建立乙個順序表:
(1)輸入資料;
(2)實現資料的插入、刪除、搜尋、輸出等基本操作;
(3)實現集合的並、交和兩個有序順序表的合併。
#include
#include
using
namespace
std;
const
int size=100;
template
class seqlist //析構函式
int size() const //表的最大容量
int length() const //計算表的長度
bool isempty() //判斷表空
bool isfull() //判斷表滿
int search1(t &x)const; //搜尋指定值,返回表項值
int search(t &x)const; //搜尋指定值,返回表項值
int locate(int i)const; //定位第i個表項
bool getdata(int i,t &x)const; //取出第i個表項
bool setdata(int i,t &x); //修改第i個表項
bool insert(int i,t &x); //在第i個表項後插入值
bool remove(int i); //刪除第i個表項
void sort(); //排序
void input(); //輸入
void output(); //輸出
void use(int size) //呼叫resize函式
void union(seqlist l); //實現兩個集合的並集
void intersection(seqlistl); //實現兩個集合的交集
void union1(seqlist l); //實現有序表的合併
void delete1(t &x);
};template
seqlist::seqlist(int sz)
}}template
seqlist::seqlist(const seqlist&s)
for(int i=1;i<=last+1;i++)
}template
seqlist&seqlist::operator=(seqlist&s)
for(int i=1;i<=last+1;i++)
return (*this);
}template
int seqlist::search1(t&x)const
}cout
<" is not found"
}template
int seqlist::search(t&x)const
}return -1;
}template
int seqlist::locate(int i)const
template
void seqlist::delete1(t &x)
}for(int z=j;z<=last;z++)
last--;
}template
bool seqlist::getdata(int i,t &x)const
return
false;
}template
bool seqlist::setdata(int i,t &x)
return
false;
}template
bool seqlist::insert(int i,t &x)
data[i]=x;
last++;
return
true;
}template
bool seqlist::remove(int i)
last--;
return
true;
}template
void seqlist::input()
for(int j=0;j<=last;j++)
}template
void seqlist::output() }}
}template
void seqlist::resize(int size)
int j=last+1;
t *a=data;
t *b=newarray;
while(j--)
delete data;
data=newarray;
maxsize=size;
}}template
void seqlist::union(seqlistl)
}cout
<<"a union b is";
l.output();
}template
void seqlist::intersection(seqlist l)
else i++;
}cout
<<"a cross b is";
l.output();
}template
void seqlist::union1(seqlistl)
}cout
<<"a union b in sequence is";
this->output();
}int main()
C 實現順序表的使用
include using namespace std template class seqlist seqlist int length 32 構造空表 seqlist int length,int x 構造順序表 seqlist int values,int n 構造順序表 由values提供元...
順序表 有序順序表的插入
本題要求實現遞增順序表的有序插入函式。l是乙個遞增的有序順序表,函式status listinsert sortedsq sqlist l,elemtype e 用於向順序表中按遞增的順序插入乙個資料。比如 原資料有 2 5,要插入乙個元素3,那麼插入後順序表為2 3 5。要考慮擴容的問題。stat...
順序表 順序表定位
這兩個題本質一模一樣,唯一不同的是本題利用 順序表 將陣列a包裝了起來。在遍歷的過程中,拿順序表的資料去和x比對,若相同,返回當前下標值,若到了最後乙個資料元素都不相同,就返回 1 1.遍歷順序表 2.挨個比對資料元素 prism lang c include const int max 20 設定...