#include <iostream>
using namespace std;
#define LISE_INIT_SIZE 10
#define TRUE 1
#define FALSE 0
typedef struct{
int elem[LISE_INIT_SIZE];
int length;
int listsize;
}SqList;
//表的屬性
SqList *CreateSqList(){
SqList *list;
list->listsize = LISE_INIT_SIZE;
list->length=0;
return list;
}//建表
void Insert(SqList *list,int i,int data){
if(i<1||i>list->length+1){
cout<<"error"<<endl;
}else{
if(list->length>=list->listsize){
list->listsize=list->listsize+10;
}else{
for(int j=i;j<=list->length;j++){
list->elem[j+1]=list->elem[j];
}list->elem[i]=data;
list->length++;
cout<<"插入成功"<<endl;
}
}
for(int i=0;i<=list->length;i++){
cout<<list->elem[i]<<" ";
}
}//插入元素
void Delete(SqList *list,int i){
if(i<1||i>list->length+1){
cout<<"錯誤"<<endl;
}else{
for(int j=list->length;j>i;j--){
list->elem[j-1]=list->elem[j];
}list->length--;
for(int i=0;i<=list->length;i++){
cout<<list->elem[i]<<" ";
}
}
}//洗掉元素
void Read(SqList *list,int i){
if(i<1||i>list->length+1){
cout<<"錯誤"<<endl;
}else{
cout<<list->elem[i];
}
}//讀取表中某一元素
void getMax(SqList *list){
int e=list->elem[0];
for(int i=1;i<list->length;i++){
if(e<list->elem[i])
e=list->elem[i];
}
cout<<e<<endl;
}//查詢最大元素并輸出
void getMin(SqList *list){
int e=list->elem[0];
for(int i=1;i<list->length;i++){
if(e>list->elem[i])
e=list->elem[i];
}
cout<<e<<endl;
}//查詢最小元素并輸出
void Find(SqList *list,int data){
for(int i=0;i<=list->length;i++){
if(list->elem[i]==data){
cout<<"已經找到了!!它在:"<<i<<endl;
}else{
cout<<"沒有該項資料!!"<<endl;
}
}
}//查找元素
int Queue(SqList *list){
for(int i=list->length,change=TRUE;i>=1&&change;--i){
change=FALSE;
for(int j=0;j<i;++j){
if(list->elem[j]>list->elem[j+1]){
int p=list->elem[j];
list->elem[j]=list->elem[j+1];
list->elem[j+1]=p;
change=TRUE;
}
}
}
for(int i=0;i<=list->length;i++){
cout<<list->elem[i]<<" ";
}
return 1;
}//排序
void Invert(SqList *list){
for(int i=0,j=list->length-1;i<=j;i++,j--){
int p=list->elem[i];
list->elem[i]=list->elem[j];
list->elem[j]=p;
}
for(int i=0;i<=list->length;i++){
cout<<list->elem[i]<<" ";
}
}//逆置
void Input(SqList *list,int n){
cout<<"請輸入每一項:";
for(int i=0;i<n;i++){
cin>>list->elem[i];
list->length++;
}
} //輸入
void Output(SqList *list){
for(int i=0;i<=list->length;i++){
cout<<list->elem[i]<<" ";
}
} //輸出
void UnionList(SqList *La,SqList *Lb,SqList *Lc){
int i=0,j=0,k=0;
for(i,k;i<=La->length,k<=La->length+Lb->length;i++,k++){
Lc->elem[k]=La->elem[i];
}
for(j,k;j<=Lb->length,k<=La->length+Lb->length;j++,k++){
Lc->elem[k]=Lb->elem[j];
}
for(int i=0;i<=Lc->length;i++){
cout<<Lc->elem[i]<<" ";
}
}//合并順序表并輸出
int main(){
SqList *L;
L=CreateSqList();
Input(L,5);
Output(L);
Insert(L,3,10);
Delete(L,4);
Read(L,2);
getMax(L);
getMin(L);
Find(L,10);
Queue(L);
Invert(L);
Output(L);
return 1;
}

這里為啥會這樣的報錯啊=-=
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/195501.html
標籤:C++ 語言
