資料結構小結

2022-03-02 21:22:30 字數 1185 閱讀 2403

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,這個是根據我們自己設定的直接定址來的。人數我們可以不管,我們關心的是如何通過關鍵字找到位址。例子 一 線性表 特點 首無前...