#include typedef struct sequecnedlist;
// *l是指標,全稱是指標變數,是乙個用來儲存記憶體位址的變數。
//* &l是指標型別的引用,代表的是原指標,我們在函式中對指標的操作,都是對原指標的操作;
// l表示順序表指標
//建立順序表sequencedlist
//*l 通過順序表指標可以操作順序表,傳遞的都是順序表指標;
//* &l 引用引數,將執行結果回傳給實參,引用符號&放在形參l的前面;輸出型引數均使用&,不論引數值是否改變;
void createlist(sequecnedlist *&l,elementtype a,int n)
//初始化
void initlist(sequecnedlist* &l)
//銷毀
void destroylist(sequencedlist *&l)
//判斷是否為空表
bool listempty(sequencedlist *l)
//求線性表的長度
int listlength(sequecnedlist *l)
//輸出線性表
void outputlist(sequencedlist *l)
printf("\n");
}//求某個資料元素值
//返回第i個元素的值,存放在e中
//此演算法時間複雜度為o(1)
bool getitem(sequencedlist *l,int i,elementtype &e)
//按元素值查詢
//順序查詢第乙個與e相等的元素邏輯位序,若不存在返回0
int locateelem(sequencedlist *l,elementtype e)
if(i>=l->length) return 0;
else return i+1;
} //插入元素
//o(n)
bool listinsert(sequencedlist *&l,elementtype e,int i)
l->data[i]=e;//插入元素e
l->length++;//順序表長度增長1
return true;
}//刪除元素
//o(n)
bool listdelete(sequencedlist *&l,elementtype e,int i)
l->length--;
return true;
} //設順序表l有10個整數。設計乙個演算法,以第乙個元素為基準,
//將所有小於等於他的元素放到該元素的前面,所有大於他的元素放在該元素的後面
void moving(sqlist *&l)
l->data[j]=l->data[i];
while(l->data[j]>jizhun)
l->data[i]=l->data[j];
} l->data[i]=jizhun;
}
資料結構 順序表
順序表的特徵 1由唯一的表名標識 2佔據一塊連續的儲存空間 3資料順序存放,元素之間有先後關係 定義動態的順序表 define maxsize 100 typedef struct sqlist 這個結構體型別存放的是順序表的資訊和順序表的資料 初始化順序表 void initsqlist sqli...
資料結構 順序表
順序表示最簡單的乙個資料結構,直接貼 吧,因為比較簡單。include include typedef struct sqlist sqlist void initlist sqlist l l length 0 void getelem sqlist l 初始化 l length j printf...
資料結構順序表
include include include include include include include include include include include include include include using namespace std define maxn 100000...