templateclass circularlistnode
circularlistnode(datatype data, circulatlistnode* nextone = null)
~circlarlistnode()
private:
circularlistnode* m_next;
datatype m_data;
};template class circulatlist
~circularlist()
void cleanup();//清空迴圈鍊錶
int getlength();//獲取迴圈鍊錶的長度
//查詢具有value值的第i個元素 並返回其指標
circularlistnode* findnode(int i, datatype value);
bool insertnode(datatype data);//在鍊錶的尾部插入元素
bool deletenode(datatype value);//刪除具有value值的所有元素
datatype getvalue(circularlistnode* node);//獲取指定元素的值
private:
circularlistnode* head;
};template void circularlist::cleanup()
}template int circularlist::getlength()
return length;
}template circularlistnode* circularlist::findnode(int i, datattype value)
if(p == head) return null;
}return p;
}template bool circularlisr::insertnode(datatype data) //尋找結點位置
node->m_next = p->m_next; //插入新結點
p->m_next = node;
return true;
}template bool circularlist::deletenode(datatype value)
else
}if(count == 0) return false;
else return true;
}template datatype circularlist::getvalue(circularlistnode* node)
主函式部分自己寫吧
迴圈鍊錶及其各種操作
什麼是迴圈鍊錶 將單鏈表中終端結點的指標端由空指標改為指向頭結點,就使整個鍊錶形成乙個環,這種頭尾相接的單鏈表成為單迴圈鍊錶,簡稱迴圈鍊錶 circular linked list 迴圈鍊錶的各種操作與單鏈表的相似,只是要注意迴圈鍊錶的尾結點是指向頭結點的 class testclink class...
雙向迴圈鍊錶基本操作
include include include typedef struct node linklist void clear 清屏 linklist init doublelinklist 初始化雙向迴圈鍊錶 void creat doublelinklist linklist 建立雙向迴圈鍊錶 ...
迴圈鍊錶的基本操作
定義 typedef struct dulnode dulnode,dulinklist 構造迴圈鍊錶 與單鏈表不同的是l next l 而不是l next null bool initdulist dulinklist l l next l 這裡不是 null printf 初始化成功!n 尾插法...