資料結構2 2

2021-07-10 17:36:20 字數 2205 閱讀 4755

//檔名:algo2-2.cpp

#include #include typedef char elemtype;

typedef struct lnode //定義單鏈表結點型別

linklist;

void initlist(linklist *&l) //初始化線性表

void destroylist(linklist *&l) //銷毀線性表

free(p);

}bool listempty(linklist *l) //判線性表是否為空表

int listlength(linklist *l) //求線性表的長度

return(i);

}void displist(linklist *l) //輸出線性表

printf("\n");

}bool getelem(linklist *l,int i,elemtype &e) //求線性表中某個資料元素值

if (p==null) //不存在第i個資料節點,返回0

return false;

else //存在第i個資料節點,返回1

}int locateelem(linklist *l,elemtype e) //按元素值查詢

if (p==null) //不存在元素值為e的節點,返回0

return(0);

else //存在元素值為e的節點,返回其邏輯序號i

return(i);

}bool listinsert(linklist *&l,int i,elemtype e) //插入資料元素

if (p==null) //未找到第i-1個節點,返回false

return false;

else //找到第i-1個節點*p,插入新節點並返回1

}bool listdelete(linklist *&l,int i,elemtype &e) //刪除資料元素

if (p==null) //未找到第i-1個節點,返回false

return false;

else //找到第i-1個節點*p

}//尾插法線性表

void createlistr(linklist *&l,elemtype a,int n)

r->next=null;

}int main()

; linklist *l;

printf("(1)初始化單鏈表h\n");

initlist(l);

printf("(2)依次採用尾插法插入元素:");

for(int i=0; i<5; i++)

printf("%c ",x[i]);

createlistr(l,x,5);

printf("\n");

printf("(3)輸出單鏈表h:");

displist(l);

printf("(4)單鏈表的長度=%d\n",listlength(l));

if(listempty(l)==0)

printf("(5)單鏈表h為非空\n");

else

printf("(5)單鏈表h為空表\n");

printf("(6)單鏈表的第3個元素=%c\n",x[2]);

printf("(7)元素a的位置=");

int i,m;

elemtype e;

for(i=0; i<5; i++)

m=locateelem(l,e);

printf("%d\n",m+1);

printf("(8)在第四個元素位置上插入f元素\n");

// elemtype f;

listinsert(l,4,'f');

printf("(9)輸出單鏈表h:");

displist(l);

printf("(10)刪除h的第三個元素\n");

listdelete(l,3,e);

printf("(11)輸出單鏈表h:");

displist(l);

printf("(12)釋放單鏈表h");

destroylist(l);

return 0;

}

執行結果:

2 2 資料結構 內建函式

coding utf 8 內建函式 author liuyb filter filter 函式過濾條件,序列 通過函式,過濾序列,預設返回列表,支援 list str tuple unicode def f x return x 3 0 or x 5 0def f str x return x in...

2 2資料結構雜湊表

include include using namespace std const int n 100003 int h n e n ne n idx h是陣列頭,e是存的插的鍊錶的值,ne是其下乙個的idx 一共n個數,經驗上開2n 3n的陣列,先找到大於2n的第乙個質數,然後開這麼大的陣列,定義...

MATLAB基礎2 2 資料結構1

3.整型 4.複數 ii.資料型別轉換 iii.無窮與非數值 classname class x 不僅可以用於檢視數值變數的型別,還可以檢視任何物件的型別,如function handle表示函函式控制代碼型別 matlab預設數值型別為雙精度浮點型別 double型別為64位,佔8位元組 sing...