資料結構 線性表

2021-10-01 12:55:53 字數 3248 閱讀 2820

//靜態分配陣列

#include

#include

#define maxsize 100

struct sqlistnode

;typedef

struct sqlistnode *list;

list creat()

return l;

}void

insert

(list l,

char x,

int i)

else

if(i<

1||i>

(l->last)+2

)else

l->last++

; l-

>data[i-1]

=x;printf

("success\n");

}}void

output

(list l)

intmain()

//動態分配陣列

struct seqlist

;typedef

struct seqlist *list;

list l=

(list)

malloc

(struct seqlist)

;l->data=

(int

)malloc

(sizeof

(int

)*initsize)

灰常不容易啊找了好久bug!!!求length的時候cnt要++,p也要++啊!!!死在這個bug上了 還有刪除節點時,第乙個節點要注意!!!

#include

#include

typedef

struct node *list;

struct node

;list creat1()

}return head;

}list creat2()

} r-

>next=

null

;return head;

}int

length

(list l)

return num;

}list findkth

(list l,

int k)

//查詢位序為i

if(p)

return p;

//此處返回的是指標,,也可以返回值p->data

else

return

null;}

list find

(list l,

int x)

//查詢值為x

if(p-

>data==x)

return p;

else

return

null;}

list insert

(list l,

int x,

int i)

//位置i處插入x

else

}list delete0

(list l,

int i)

//刪除位序i的元素 或者根據元素刪...種類好多啊

else

//關鍵容易bug的地方 當i取1時要分開考慮,讓2號位接到head後面

else

if(i==1)

}return l;

}void

output

(list l)

printf

("\n");

}int

main()

做乙個鍊錶複習集合吧》<

typedef

struct node *ptrtonode;

//指向鍊錶的指標

typedef

struct node list;

//通常所說的「給定乙個單鏈表」,表示給定乙個指向鍊錶頭部的指標

struct node

;

本題要求實現乙個函式,求單鏈表l結點的階乘和。這裡預設所有結點的值非負,且題目保證結果在int範圍內。

輸入樣例:

35 3 6

輸出樣例:

846

#include

#include

typedef

struct node *ptrtonode;

struct node

;typedef ptrtonode list;

/* 定義單鏈表型別 */

intfactorialsum

( list l )

;int

main()

printf

("%d\n"

,factorialsum

(l))

;return0;

}int

factorialsum

( list l )

return sum0;

}

線性表的鏈式儲存實現

#include

typedef

struct lnode ptrtonode;

typedef

struct ptrtonode list;

struct lnode

;int

findkth

(list l,

int k)

if(i==k&&p)

return p->data;

else

return error;

}int

findk

(list l,

int k)

if(k==p->data)

return i;

else

return error;

}list insert

(list l,

int k,

int data)

;//插入操作,返回的是煉表頭

if(cnt!=k-1)

*/if(k==1)

else

}

int

binarysearch

( list l,

int x )}if

(flag==0)

return notfound

}

資料結構(線性表)

1.試寫一演算法,在無頭結點的動態單鏈表上實現線性表操作insert l,i,b 並和在帶頭結點的動態單鏈表上實現相同操作的演算法進行比較。status insert linklist l,int i,int b 在無頭結點鍊錶l的第 i個元素之前插入元素 belse insert 2.已知線性表中...

資料結構 線性表

參考 一 線性表 順序表 單鏈表 迴圈鍊錶 雙鏈表 順序表 1.表的初始化 void initlist seqlist l 2.求表長 int listlength seqlist l 3.取表中第i個結點 datatype getnode l,i 4.查詢值為x的結點 5.插入 具體演算法描述 v...

資料結構 線性表

線性表是最基礎的一種資料結構,這樣的資料物件包含的資料元素具有一對一的前驅後繼關係。按其邏輯儲存方式的不同可分為兩類線性表 順序表和鏈式表。其中鏈式表又可分為線性鍊錶 迴圈鍊錶和雙向鍊錶。下面分別介紹下這幾種線性表的資料結構 1.順序表 typedef struct sqlist 插入演算法 i到n...