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.從鍵盤輸入一些文字,統計文字單詞的個...