一、寫一演算法,從順序表中刪除自第i個元素開始的k個元素。 (按照下標刪除)
方法:迴圈控制刪除即可
**實現:
#include #include #include #define overflow -2
#define list_init_size 100 //線性表儲存空間的初始分配量
#define listincrement 10 //線性表儲存空間的分配增量
using namespace std;
typedef int elemtype;
typedef struct
seqlist;
int initlist(seqlist &l)
int listinsert(seqlist &l, int i,elemtype e)
q=&(l.elem[i-1]);
for(p=&(l.elem[l.length-1]); p>=q; --q)
*q=e;
++l.length;
return 1;
}int listdelet(seqlist &l,int i,elemtype &e)
void output(seqlist &l)
seqlist;
int initlist(seqlist &l)
int listinsert(seqlist &l, int i,elemtype e)
q=&(l.elem[i-1]);
for(p=&(l.elem[l.length-1]); p>=q; --q)
*q=e;
++l.length;
return 1;
}int listdelet(seqlist &l,int i,elemtype &e)
void output(seqlist &l)
{ for(int i=0; i
線性表 順序表的應用
一 刪除順序表中所有值為x的資料元素 要求 時間複雜度為o n 空間複雜度為o 1 若用基本運算實現 void delnode1 sqlist l,elemtype x 時間複雜度為n 2 故解法為 複製保留的元素 逐個複製要保留的元素,共用空間,不需要額外空間 void delnode1 sqli...
線性表(2) 順序表
include include define init size 100 初始長度 define listincrement 增量 define elemtype int define error 0 define ok 1 typedef structsqlist 構造空表 int initlis...
2 線性表之順序表
線性表是某類元素的乙個集合,還記錄著元素之間的一種順序關係。順序表 將元素順序地存放在一塊連續的儲存區里,元素間的順序關係由它們的儲存順序自然表示。順序表的資料元素本身連續儲存,每個元素所佔的儲存單元大小固定相同,元素的下標是其邏輯位址,而元素儲存的實體地址 實際記憶體位址 可以通過儲存區的起始位址...