回顧資料結構(1) 單鏈表

2021-07-24 08:48:11 字數 2297 閱讀 4038

1.鍊錶的結點由資料域和指標域構成:

//定義鍊錶結構

typedef

struct lnodenode,*linklist;

2.建立鍊錶:

//建立鍊錶

status createlinklist(linklist &l,int n)

return ok;

}

3.獲取鍊錶中某一項

//獲取元素

status getitem(linklist l ,int i,elemtype &e)

if(!head ||j>i-

1) e = head->

data;

return ok;

}

4.鍊錶的遍歷

//遍歷鍊錶

status readlinklist(linklist l)

while(p!= null)

return ok;

}

5.鍊錶的插入

status inertitem(linklist l,int i,elemtype e)

if(!head&&j>i-1) return error;

temp = (linklist)malloc(sizeof(node));

if(!temp) return error;

temp->data = e;

temp->next = head->next;

head->next = temp;

return ok;

}

6.鍊錶的刪除

status deletelinklist(linklist l,int i)

if(!head->next||j>i-1) return error;

temp = head->next;

head->next = temp->next;

printf("delete item is: %d",temp->data);

free(temp);

return ok;

}

全部**:

#include

#include

#include

#define ok 1;

#define error 0;

typedef int status;

typedef int elemtype;

//定義鍊錶結構

typedef struct lnodenode,*linklist;

//建立鍊錶

status createlinklist(linklist &l,int n)

return ok;

}//遍歷鍊錶

status readlinklist(linklist l)

while(p!= null)

return ok;

}//獲取元素

status getitem(linklist l ,int i,elemtype &e)

if(!head ||j>i-1)

e = head->data;

return ok;

}status inertitem(linklist l,int i,elemtype e)

if(!head&&j>i-1) return error;

temp = (linklist)malloc(sizeof(node));

if(!temp) return error;

temp->data = e;

temp->next = head->next;

head->next = temp;

return ok;

}status deletelinklist(linklist l,int i)

if(!head->next||j>i-1) return error;

temp = head->next;

head->next = temp->next;

printf("delete item is: %d",temp->data);

free(temp);

return ok;

}int main()

回顧單鏈表,堆疊,佇列,雙鏈表資料結構

這幾個資料結構還是比較通俗易懂的,其中堆疊和佇列可以用陣列封裝實現,也可以用雙端鍊錶實現,等等不多複述。個人感覺資料結構真正複雜的是樹型結構,多叉樹,二叉樹,平衡二叉樹,b 樹,b 樹,紅黑樹,他們關係和區別,目前也說不清楚。這一塊是我感覺很薄弱的地方。簡單寫了個單鏈表,其他的懶得寫了,下篇開始搞搞...

資料結構習題(1) 單鏈表

部分基於之前的 1.設順序表va中的資料元素遞增有序。試寫一演算法,將x插入到順序表的適當位置上,以保持該錶的有序性。int insertsort pdseqlist pl,elem type val int index 0 for int i 0 i pl cursize i insertpos ...

資料結構單鏈表

初學資料結構,貼段自己編寫的單鏈表程式,希望自己能夠一直以強大的學習熱情持續下去!自勉!2012年3月30日 於大連 include using namespace std typedef struct node linklist,node linklist makelist int n void ...