C 實現單鏈表

2021-10-02 02:27:23 字數 2171 閱讀 7724

資料結構之鍊錶

泛型介面

類(屬性、對c#構造器的理解)

(有了這些知識,**很快就能看懂,這些知識不熟的話,要看好久)

新建乙個類,用於存放節點類

namespace singlelinkedlist

set

}public nodenextnode

set

} #endregion

#region 節點的構造器

public node()

//構造器重載

public node(t value)

public node(nodenext)

//構造器鏈

public node(t value, nodenext):this(value)

#endregion}}

新建乙個介面,規定單鏈表應該具有的方法

namespace singlelinkedlist

//過載「」操作符

int getlength();

void clear();

bool isempty();

void add(t element);

void insert(t element, int index);

t remove(int index);

int find(t element);

void sort();}}

新建乙個類,用於存放單鏈錶類,並實現介面方法

using system;

namespace singlelinkedlist

#region 介面方法

public t this[int index]

return temp.data;}}

public int getlength()

public void clear()

public bool isempty()

public void add(t element)

else

}temp.nextnode = newnode;

}count++;

}public void insert(t element, int index)

nodeindexnode = tempnode.nextnode;//index所對應的節點

tempnode.nextnode = newnode;//temp節點的下乙個節點為新節點

newnode.nextnode = indexnode;//新節點的下乙個節點為index節點

count++;

}public t remove(int index)

data = tempnode.nextnode.data;

count--;

if (index == count - 1)//考慮特殊情況,這種情況也可以省略

else

return data;

}public int find(t element)

}return index;

}public void sort()

#endregion}}

using system;

using system.collections.generic;

namespace singlelinkedlist

console.writeline("單鏈表的結果:");

slinkedlist.insert(100,3);

slinkedlist.remove(20);

int index= slinkedlist.find(88);

for (int i = 0; i < slinkedlist.getlength(); i++)

console.writeline("查詢結果:"+index);

console.writeline("對比陣列的結果:");

C 單鏈表實現

1 單向鍊錶 單向鍊錶 include include class cnode 節點類 class clist 鍊錶類 cnode movetrail cnode pnode 移動到尾節點 return ptmp void addnode cnode pnode 新增節點 else m nodesu...

c 實現單鏈表

include include using namespace std typedef int datatype struct linknode 建立乙個節點 class slist void swap slist s slist const slist s head null tail null ...

單鏈表(C實現)

ifndef list h define list h typedef struct node node typedef struct list list initlist int insertlist list l,void data,int size node findnodebykey lis...