靜態分配順序儲存結構的線性表:
標頭檔案:
#includeconst int maxsize = 100;
templateclass sqlist
sqlist(datatype array, int n);
~sqlist() {}
int getlength() //獲取順序表長度
datatype getelement(int i);//獲取位置所在的元素
int getlocal(datatype x);//獲取元素所在位置
void insert(int i, datatype x);//順序表插入元素
datatype delete(int i);//順序表刪除元素
void printsqlist();
private:
datatype data[maxsize];//一維陣列
int length;//順序表長度
};templatesqlist::sqlist(datatype array, int n)
for (int i = 0; i < n; i++)
length = n;
}templatedatatype sqlist::getelement(int i)
else }
templateint sqlist::getlocal(datatype x)
} return 0;
}templatevoid sqlist::insert(int i, datatype x)
if (i<1 || i>length + 1)
for (int j = length; j >= i; j--)
data[i - 1] = x;
length++;
}templatedatatype sqlist::delete(int index)
else
length--;
} return x;
}templatevoid sqlist::printsqlist()
else
cout << endl; }}
原始檔:
#include#include"sqlist.h"
using namespace std;
void show()
int main()
; sqlistlist =sqlist(array, 10);
cout << "順序表:" << endl;
list.printsqlist();
show();
cout << "長度:" << list.getlength() << endl;
cout << "第五個元素:" << list.getelement(5) << endl;
cout << "元素8的位置" << list.getlocal(8) << endl;
show();
cout << "第1個位置插入40" << endl;
list.insert(1, 40);
cout << "順序表為:" << endl;
list.printsqlist();
cout << "長度:" << list.getlength() << endl;
cout << "刪除第7個元素" << endl;
list.delete(7);
cout << "順序表:" << endl;
list.printsqlist();
cout << "順序表長度:" << list.getlength() << endl;
show();
system("pause");
return 0;
}
線性表 順序表的應用
一 刪除順序表中所有值為x的資料元素 要求 時間複雜度為o n 空間複雜度為o 1 若用基本運算實現 void delnode1 sqlist l,elemtype x 時間複雜度為n 2 故解法為 複製保留的元素 逐個複製要保留的元素,共用空間,不需要額外空間 void delnode1 sqli...
線性表 順序表示和實現(順序表)
線性表 順序表 實現 方式 陣列 說明 1.資料元素從下標0開始 2.順序表元素個數初始是為0,有乙個時為1,即 size比元素個數大1 3.也是size比陣列下標大1 4.有上限 maxsize 線性表 順序表 實現 陣列 1.資料元素從下標0開始 2.順序表元素個數初始是為0,有乙個時為1,即 ...
線性表 順序表的實現
順序表vs2010除錯 include include include include define list init size 50 struct seqlist 初始化順序表 int fninitlist struct seqlist l l length 0 l max size list ...