1、單鏈表的結點定義
typedef struct node
slnode;
2、初始化listinitiate(slnode **head)
void listinitiate(slnode **head)//初始化
3、求當前資料元素個數listlength(slnode *head)
int listlength(slnode *head)
return size;
}
4、插入int listinsert(slnode *head,int i,datatype x)
int listinsert(slnode *head,int i,datatype x)
//在帶頭結點的單鏈表head的第i(
0<
=i<
=size)個結點前插入乙個存放資料元素x的結點
//插入成功則返回1,失敗則返回0
if(j!=i-1)q=
(slnode *)malloc(sizeof(slnode))
;//生成新結點
q->data=x;//新結點資料域賦值
q->next=p->next;
p->next=q;
return1;
}
5、刪除int listdelete(slnode *head,int i,datatype *x)
int listdelete(slnode *head,int i,datatype *x)
//刪除帶頭結點單鏈表head的第i(
0<
=i<
=size-1)個結點
//被刪除結點的資料域值由x帶回,刪除成功則返回1,失敗返回0
if(j!=i-1)
s=p->next;//指標s指向ai結點
*x=s->data;//把指標s所指結點的資料域值賦予x
p->next=p->next->next;//刪除
free(s)
;//釋放指標s所指結點的記憶體空間
return1;
}
6、取資料元素int listget(slnode *head,int i,datatype *x)
int listget(slnode *head,int i,datatype *x)
if(j!=i)
*x=p->data;
return1;
}
7、撤銷單鏈表void destroy(slnode **head)
void destroy(slnode **head)
*head=null;
}
8、單鏈表頭檔案linlist.h
#include
#include
typedef struct node
slnode;
void listinitiate(slnode **head)//初始化
int listlength(slnode *head)
return size;
}int listinsert(slnode *head,int i,datatype x)
//在帶頭結點的單鏈表head的第i(
0<
=i<
=size)個結點前插入乙個存放資料元素x的結點
//插入成功則返回1,失敗則返回0
if(j!=i-1)q=
(slnode *)malloc(sizeof(slnode))
;//生成新結點
q->data=x;//新結點資料域賦值
q->next=p->next;
p->next=q;
return1;
}int listdelete(slnode *head,int i,datatype *x)
//刪除帶頭結點單鏈表head的第i(
0<
=i<
=size-1)個結點
//被刪除結點的資料域值由x帶回,刪除成功則返回1,失敗返回0
if(j!=i-1)
s=p->next;//指標s指向ai結點
*x=s->data;//把指標s所指結點的資料域值賦予x
p->next=p->next->next;//刪除
free(s)
;//釋放指標s所指結點的記憶體空間
return1;
}int listget(slnode *head,int i,datatype *x)
if(j!=i)
*x=p->data;
return1;
}void destroy(slnode **head)
*head=null;
}
【2-3】建立乙個線性表,首先依次輸入資料元素1,2,3…10,然後刪除資料元素5,最後依次顯示當前表中的資料元素。要求使用單鏈表。
線性表 單鏈表
define crt secure no deprecate define crt secure cpp overload standard names 1 includeusing namespace std typedef struct node node node headpointer 頭指...
線性表 單鏈表
單鏈表結構與順序儲存結構對比 一 儲存分配方式 1 順序儲存結構用一段連續的儲存單元依次儲存線性表的資料元素 2 單鏈表採用鏈式儲存結構,用一組任意的儲存單元存放線性表的元素 二 時間效能 1 查詢 順序儲存結構o 1 單鏈表o n 2 插入和刪除 順序儲存結構o n 單鏈表找到位置後插入刪除時間o...
線性表 單鏈表
template struct node template class linklist 無參建構函式,建立只有頭結點的空鍊錶 linklist t a int n 有參建構函式,建立有n個元素的單鏈表 linklist 析構函式 int length 求單鏈表的長度 t get int i 按位查...