考研複習(1) 線性表

2021-08-26 02:01:16 字數 1398 閱讀 1498

還有5個月考研,**還是得敲。

環境:ubuntu10.10 ide:code::blocks

線性表的基本操作,還有合併,比較演算法

#include

#include

#define list_init_size 100

#define list_increase 10

typedef char elemtype;

typedef struct

list;

//在表l中第i個位置插入x

void cutin(list *l,int i,elemtype x);

void initlist(list *l);

elemtype del(list *l,int i);

void union1(list *a,list b);

void union2(list a,list b,list *c);

int main()

void initlist(list *l)

l->listsize=list_init_size;

l->length=0;

}//在表l中第i個位置插入x

void cutin(list *l,int i,elemtype x)

if(l->length>=l->listsize)//如果儲存已滿,呼叫realloc分配新記憶體

l->elem=newbase;

l->listsize+=list_increase;

}p=&(l->elem[i-1]);

for(q=&(l->elem[l->length-1]);q>=p;q--)//p之後的元素往後移

*p=x;

l->length++;

}//刪除表中第i個元素,返回刪除值

elemtype del(list *l,int i)

e=l->elem[i-1];

p=&(l->elem[i-1]);

for(q=&(l->elem[l->length]);q>=p;q--)//p之後的元素往後移

l->length--;

return (e);

}//在表中查詢與e相等的元素

int locate(list *l,elemtype e)

if(i=l->length)

return 0;

}void display(list l)}}

//歸併演算法2

void union2(list a,list b,list *c)

//a b c均按值非遞減排列

pa_last=&(a.elem[a.length-1]);

pb_last=&(b.elem[b.length-1]);

pc= c->elem;

while(pa

考研複習(1) 線性表

還有5個月考研,還是得敲。環境 ubuntu10.10 ide code blocks 線性表的基本操作,還有合併,比較演算法 include include define list init size 100 define list increase 10 typedef char elemtyp...

複習 線性表

快要考試了,所以準備這幾天把資料結構都過一遍,也就是對那些基本演算法進行一次溫習吧,加油!首先先從線性表開始,線性表有2種儲存方式,順序儲存和鏈式儲存。順序儲存 l順序儲存方法 用一組位址連續 的儲存單元依次儲存線性表的元素,可通過 陣列來實現。define maxsize 100 define o...

考研資料結構複習 線性表 鍊錶

title 考研資料結構複習 subject 線性表 鍊錶結構 author lxfhahaha language c語言 time 2018 9 25 20 55 include include include define inital size 50 define max size 100 d...