資料結構 鍊錶的實現 C

2021-08-01 07:54:05 字數 2467 閱讀 4961

昨天寫了鍊錶,目前只寫了單鏈表,等有時間把迴圈鍊錶什麼的變異產品再寫出來

只有頭指標(沒有頭結點)的單鏈表

#pragma once

template struct node ;

template class singlelinkedlist ;

#include"singlelinkedlist.h"

template singlelinkedlist::singlelinkedlist()

template bool singlelinkedlist::deletebyindex(int index)

else

if (p == null)

q = p->next;

if (q == null)

p->next = q->next;

return true; }

}template bool singlelinkedlist::insertbyindex(int index,t value)

else

if (p == null)

node*n = new node;

n->value = value;

n->next = p->next;

p->next = n;

return true;

} }template bool singlelinkedlist::add(t value)

else

node*n = new node;

n->value = value;

n->next = null;

p->next = n;

} return true;

}template t singlelinkedlist::getvaluebyindex(int index)

return p->value;

}template node* singlelinkedlist::getnodebyindex(int index)

return p;

}template node* singlelinkedlist::getnodebyvalue(t value)

return p;

}template bool singlelinkedlist::replacebyindex(int index,t value)

if (p == null)else

}

迴圈雙指標鍊錶:

cyclelinkedlist.h:

#pragma once

template struct node ;

template class cyclelinkedlist ;

cyclelinkedlist.cpp:

#include"cyclelinkedlist.h"

template cyclelinkedlist::cyclelinkedlist()

template bool cyclelinkedlist::addathead(t value)

else

return true;

}template bool cyclelinkedlist::addattail(t value)

else

return true;

}template bool cyclelinkedlist::isempty()

else

}template bool cyclelinkedlist::deletehead()

else

else

return true; }}

template bool cyclelinkedlist::deletetail()

else

else

return true; }}

template t cyclelinkedlist::gethead()

else

}template t cyclelinkedlist::gettail()

else

}template t cyclelinkedlist::getbyindex(int index)

nodep = head;

int i = 0;

while (p != head)

i++;

p = p->right;

} return null;

}template t cyclelinkedlist::getbyvalue(t value)

nodep = head;

while (p != head)

p = p->right;

} return null;

}

c 資料結構鍊錶的實現

資料結構中最開始學習實現的就是鍊錶 1 這個標頭檔案 list head 為建立結構體,用來儲存資料 include using namespace std template struct node 建立結構體 template node node template node node type i...

資料結構 鍊錶的c 實現

ifndef my head h define my head h include g code c myhead.h endif my head h template typename elemtype class linklist typedef list node nodepointer 指向...

資料結構 C語言鍊錶實現

資料結構 c語言鍊錶實現 目錄 靜態單鏈表實現 動態單鏈表實現 雙向鍊錶實現 迴圈單鏈表 我學資料結構的時候也是感覺很困難,當我學完後我發現了之所以困難時因為我沒有系統的進行學習,而且很多教授都只是注重資料結構思想,而忽略了 方面,為此我寫了這些博文給那些試圖自學資料結構的朋友,希望你們少走彎路 我...