資料結構 四

2021-09-02 22:57:33 字數 1885 閱讀 1300

list.h檔案

#ifndef  _list_h_

#define _list_h_

typedef enumbool;

typedef int data;

typedef struct _node

node;

typedef struct _list

list;

//建立鍊錶

list *createlist();

//銷毀鍊錶

void destroy(list *pa);

//頭插結點

bool insert_head(list *pa,data data);

//尾插結點

bool insert_last(list *pa,data data);

//特殊位置插入結點

bool insert_pos(list *pa,int pos,data data);

//刪除某位置的結點

bool detele(list *pa,int pos);

//按內容刪除結點

bool detele_data(list *pa,data data);

//鍊錶逆序

void reverse(list *pa);

//列印函式

void display(list *pa);

#endif// _list_h_

list.c檔案

#include "list.h"

#include #include list *createlist()

pa->head->next=null;

return pa;

} bool insert_head(list *pa,data data)

return true;

}bool insert_last(list *pa,data data)

temp->next=node;

node->pre=temp;

}bool insert_pos(list *pa,int pos,data data) }

node *node=(node *)malloc(sizeof(node)/sizeof(char) );

if(null==node)

return error;

node->data=data;

node->next=temp->next;

temp->next=node;

node->pre=temp;

if(temp->next!=null)

return true; }

bool detele(list *pa,int pos)

} node *p=temp->next;

temp->next=p->next;

if(p->next!=null)

free(p);

return true;

}bool detele_data(list *pa,data data)

free(p);

return flast;

} temp=temp->next;

} return true;

}void reverse(list *pa)

pa->head->next->next=null;

cur->next=cur->pre;

pa->head->next=cur;

}void display(list *pa)

printf("\n");

}void destroy(list *pa)

free(pa->head);

free(pa);

}

資料結構(四)

同學說我更新得太慢了。是啊,隔了好久才更新一次。其實我也想快點的更新,更新得越快同時也說明我掌握知識的速度越快,越多。但是工作不允許啊。每天早出晚歸,空閒的實現還要分配一點給外語。不過,以後我會努力的,只要有朋友的支援,我會把我的所學和經驗奉獻給大家。有點開源的精神吧。呵呵,當然了,我還沒有哪個資格...

資料結構(四)

1.鍊錶是什麼玩意?有單向鍊錶和雙向鍊錶之分 定義 物理上非連續 非順序,由若干節點所組成 單向鍊錶 單向鍊錶的乙個節點由2部分組成,資料域 data 指標域 next 資料域存放資料,指標域存放指向下乙個節點的指標 頭節點 鍊錶的第乙個節點 尾節點 鍊錶的最後乙個節點,next指標指向為null ...

資料結構實驗四

一 實驗目的 鞏固字串和多維陣列相關知識,學會運用靈活應用。1.回顧字串和多維陣列的邏輯結構和儲存操作特點,字元和陣列的物理儲存結構和常見操作。2.學習運用字串和和陣列的知識來解決實際問題。3.進一步鞏固程式除錯方法。4.進一步鞏固模板程式設計。二 實驗內容 1.從鍵盤輸入一些文字,統計文字單詞的個...