之前,在c語言階段使用了c編寫單鏈表,簡單易懂,那麼,今天使用c++再次編寫單鏈表,旨在對比兩者之間的區別和異同:
下面就是cpp實現的**:
slist.h檔案:
#pragma once
typedef int datatype;
class slistnode
private:
slistnode* _next;
datatype _data;
};class slist
~slist()
slist(const slist& s)
:_head(null)
,_tail(null)
}//賦值函式的現**法
slist& operator=(slist s)
/* 賦值函式的傳統寫法
slist& operator=(const slist &s)
}return *this;}*/
public:
void pushback(datatype x)
else
}void popback()
else if(_head->_next == null) //乙個節點
else //多個節點
free(cur);
prev->_next = null;}}
void pushfront(datatype x)
else //②.不為空
}void popfront()
else if(_head->_next == null) //乙個節點
else //多個節點
}void insert(slistnode* pos,datatype x)
slistnode* find(datatype x)
else
cur = cur->_next;}}
}void erase(slistnode* pos)
slistnode* prev = _head;
while(prev)
prev = prev->_next;}}
void clear()
_head = null;
_tail = null;
}void printslist()
cout<<"null"#include#includeusing namespace std;
#include "slist.h"
int main()
C單鏈表操作
今天面試給 宇龍酷派 鄙視了。我想說,其實鍊錶反轉我會!單鏈表 初始化 建立 顯示 刪除 插入特定位置 刪除特定位置 反轉操作。include include include include typedef struct student node 初始化 node initnode head nex...
C 單鏈表實現
1 單向鍊錶 單向鍊錶 include include class cnode 節點類 class clist 鍊錶類 cnode movetrail cnode pnode 移動到尾節點 return ptmp void addnode cnode pnode 新增節點 else m nodesu...
C語言單鏈表
include include include define error 0 typedef struct lnode lnode,linklist linklist initlist linklist l node next null l node return l int listlength ...