就這書上**敲了一邊,加深印象,沒有頭結點的時候插入第乙個就有所不同了,而刪除時要找到前乙個,注意current->link==null 就這樣。
#include
#include
#include
using
namespace
std;
struct linknode
};class list
;bool list::insert(int i,int &x)//插到i之後,如果i=0則插到第乙個之前
newnode->link=first;
first=newnode;
}else
if(current==null)
else
}return
true;
}bool list::remove(int i,int &x)
else
del=current->link;
current->link=del->link;
}x=del->data;
delete del;
return
true;
}//在插入操作時,注意空表或者第乙個之前。在刪除操作時,注意刪除第乙個節點,以及**的簡便。
int main()
單鏈表操作 無頭節點
ifndef singlelist h define singlelist h 這是沒有頭結點的版本檔案 有頭結點的版本更簡單些,操作統一 include include include include typedef int elemtype typedef struct nodenode,lin...
無頭單鏈表
鍊錶有單鏈表 雙鏈表和雙向迴圈鍊錶,每種鍊錶都有無頭和帶頭兩種,帶頭就是頭結點不存放資料元素 ifndef linklist h define linklist h include stdio.h include assert.h include string.h include malloc.h ...
無頭單鏈表排序
1 無頭頭插單鏈表排序 思路 在原煉表中逐個比較大小,將最小的插入新的鍊錶 插入順序按照尾插的順序 include include typedef struct person per per head list per one,int num 頭插 void show per head 遍歷 whi...