1、順序表
順序表的定義
#define maxsize 100
elemtype sqlist[maxsize];
int len;
相當於 int a[100];
動態生成一張順序表的方法可描述如下:
#define maxsize 100
typedef structsqlist;
void initsqlist(sqlist *l){//初始化一張順序表
l->elem=(int *)malloc(maxsize*sizeof(elemtype));
if(!l->elem) exit(0);
l->length=0;
l->listsize=maxsize;
向靜態順序表中第i個位置插入資料
void inserelem(elemtype sqlist,int &n,int i,elemtype item){
//向順序表sqlist中第i個位置插入元素item,該順序表的原長度為n
int t;
if(n==maxsize||i<1||i>n+1) exit(0);
for(t=n-1;t>=i-1;t--)
sqlist[t+1]=sqlist[t];//後移元素
sqlist[i-1]=item;
n=n+1;//表長加1
向動態順序表中第i個位置插入元素item
void insertelem(sqlist *l, int i, elemtype item)
elemtype *base,*insertptr,*p;
if(i<1||i>l->length+1)exit(0);//非法插入
if(l->length>=l->listsize)
base=(elemtype*)realloc(l->elem,(l->listsize+10)*sizeof(elemtype));//追加新空間
l->elem=base;
l->listsize=l->listsize+10;//儲存空間加10
insertptr=&(l->elem[i-1]);
for(p=&(l->elem[l->length-1]);p>=insertptr;p--)
*(p+1)=*p;
*insertptr=item;
l->length++;
資料結構小結
資料結構就是乙個集合 資料結構 邏輯結構 線性資料結構 線性表 棧 佇列 字串 陣列 對應順序表 非線性資料結構 集合 樹結構 圖 儲存結構 順序儲存結構 順序表 非順序儲存結構 鏈式儲存結構 鍊錶 由指標來實現 雜湊 雜湊 索引 一種邏輯結構可以使用不同的儲存結構,那麼就會形成不同的名稱。線性表是...
資料結構小結
if you give a person a program,you ll frustrate him for a day.if you teach a person to program,you will frustrate them for a lifetime 1946年世界上第一台計算機問世...
資料結構小結
有四種基本型別 集合結構 線性結構 樹狀結構和網路結構。包括順序儲存 鏈式儲存 索引儲存 雜湊儲存。這個時候,我們可以得出這麼個雜湊函式 f 0 0,f 1 1,f 20 20,這個是根據我們自己設定的直接定址來的。人數我們可以不管,我們關心的是如何通過關鍵字找到位址。例子 一 線性表 特點 首無前...