還有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...