建立結構型別,在cs.c檔案中
在link.h寫出方法宣告typedef
struct nodelinklist;
在link.c中實現此方法/*
模擬鍊錶資料
*/linklist *testlinklist();
使用的是尾插入方式插入資料#include "link.h"
linklist *testlinklist();
return l;
}
在main.c中的main方法(int main(int argc, const char * argv) {})呼叫此方法,並且進行判斷
link.h 宣告方法#include
#include "link.h"
int main(int argc, const
char * argv)
link.c 實現方法/*
列印鍊錶中的節點資料
*/void showlinklist(linklist *q);
在main.c中的main方法(int main(int argc, const char * argv) {})呼叫此方法,並且進行判斷void showlinklist(linklist *q)else
p=p->next;
}printf("]\n");
}
列印結果:#include
#include "link.h"
int main(int argc, const
char * argv)
list=[-1,1,2,3,4,5,6,7,8,9,10]
link.h 宣告
link.c 實現/*
查詢鍊錶中指定位置的元素是否存在--按號定位
*/linklist *locbn(linklist *q,int i);
在main.c中的main方法(int main(int argc, const char * argv) {})呼叫此方法,並且進行判斷linklist *locbn(linklist *q,int i)
p=q;
//2.判斷當前計數j是否等於i,如果不等於,則表示還沒有找到要查詢的位置,並且當前p不能為null
while (j!=i&& p!=null)
return p;
}
列印結果:#include
#include "link.h"
int main(int argc, const
char * argv) else
}
link.h 宣告定位->按號定位
sq in 8 node of data =8
link.c 實現/*
查詢鍊錶中指定位置的元素是否存在--按值定位
*/linklist *locbv(linklist *q,int x);
在main.c中的main方法(int main(int argc, const char * argv) {})呼叫此方法,並且進行判斷linklist *locbv(linklist *q,int x)
return p;
}
列印結果:#include
#include "link.h"
int main(int argc, const
char * argv) else
}
link.h 宣告方法定位->按值定位
sq 不存在此 80 值的節點
link.c 實現方法/*
求鍊錶長度
*/int lenll(linklist *q);
在main.c中的main方法(int main(int argc, const char * argv) {})呼叫此方法,並且進行判斷int lenll(linklist *q)
return len;
}
列印結果:#include
#include "link.h"
int main(int argc, const
char * argv)
link.h 宣告方法求鍊錶長度
鍊錶長度=10
link.c 實現方法/*
向指定位置插入結點
*/linklist * insterbyposition(linklist *q,int position);
在main.c中的main方法(int main(int argc, const char * argv) {})呼叫此方法,並且進行判斷linklist * insterbyposition(linklist *q,int position)elseelse
}return q;
}
列印結果:#include
#include "link.h"
int main(int argc, const
char * argv)
link.h 宣告方法插入結點
list=[-1,1,2,3,4,5,6,7,8,9,10]
inster success
list=[-1,1,2,2,3,4,5,6,7,8,9,10]
link.c 實現方法/*
刪除指定位置的節點
*/linklist * delete(linklist *q,int index);
在main.c中的main方法(int main(int argc, const char * argv) {})呼叫此方法,並且進行判斷linklist * delete(linklist *q,int index)else
return p;
}
列印結果:#include
#include "link.h"
int main(int argc, const
char * argv)
link.h 宣告方法刪除某個結點
list=[-1,1,2,3,4,5,6,7,8,9,10]
locatio delete success!
list=[-1,1,2,3,4,6,7,8,9,10]
link.c 實現方法/*
合併a和b,將b合併到a鍊錶後面
*/linklist *conll(linklist *a,linklist *b);
在main.c中的main方法(int main(int argc, const char * argv) {})呼叫此方法,並且進行判斷linklist *conll(linklist *a,linklist *b)
//2.如果a節點為null,那麼也不能拼接
if(a==null)
//3.查詢a鍊錶的終結點
while (a->next!=null)
//4.將b插入到conp的最後面
a->next=b->next;
//5.釋放b鍊錶
free(b);
printf("合併成功\n");
return conp;
}
列印結果:#include
#include "link.h"
int main(int argc, const
char * argv)
釋放某個物件的方法,使用free()方法,則要引入:合併鍊錶
list=[-1,1,2,3,4,5,6,7,8,9,10]
list=[-1,1,2,3,4,5,6,7,8,9,10]
合併成功
list=[-1,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10]
#include
這是對鍊錶的基本操作,大家有好的建議,請大家提出,互相學習和進步.
求鍊錶長度
插入刪除合併
單鏈表基本操作
include include include include includeusing namespace std typedef struct node node,plinklist plinklist createfromhead node pstnode node malloc sizeof...
單鏈表基本操作
單鏈表的初始化,建立,插入,查詢,刪除。author wang yong date 2010.8.19 include include typedef int elemtype 定義結點型別 typedef struct node node,linkedlist 單鏈表的初始化 linkedlist...
單鏈表基本操作
include using namespace std define namelenth 20 define ok 0 define error 1 typedef struct flagnode node 生成結點 inline node newnode 銷毀化煉表 void destroylin...