1、建立順序表的結構體
1、建立乙個大小為10的順序表
#define listsize 10
#define true 1
#define false 0
typedef
int elemtype;
typedef
int(
*compare)
(elemtype,elemtype)
;typedef
struct sqlist
sqlist,
*sqlistptr;
2、初始化函式void
initlist_sq
(sqlistptr sqlist)
//初始化函式
3、判斷順序表是否為滿函式static
intisfull_sq
(sqlistptr sqlist)
else
}
4、三種不同插入函式(按位置插入、頭插入、尾插入)int
insertlist_sq_pos
(sqlistptr sqlist,elemtype val,
int pos)
//按位插入
if(pos<
0|| pos>sqlist->length)
int i=sqlist->length;
while
(i>pos)
sqlist->data[i]
=val;
sqlist->length++
;return true;
}int
insertlist_sq_head
(sqlistptr sqlist,elemtype val)
//頭插
int i=sqlist->length;
while
(i !=0)
sqlist->data[i]
=val;
sqlist->length++
;return true;
}int
insertlist_sq_tail
(sqlistptr sqlist,elemtype val)
//尾插
sqlist->data[sqlist->length]
=val;
sqlist->length++
;return true;
}
5、三種刪除方式函式(按位置刪除、頭刪、尾刪)void
deletelist_sq_pos
(sqlistptr sqlist,
int pos)
//按位置刪除
int i=pos;
while
(ilength-1)
sqlist->length--;}
void
deletelist_sq_head
(sqlistptr sqlist)
//頭刪
sqlist->length--;}
void
deletelist_sq_tail
(sqlistptr sqlist)
//尾刪
6、輸出函式void
showlist_sq
(sqlistptr sqlist)
//輸出
printf
("\n");
}
7、清空和銷毀函式void
clearlist_sq
(sqlistptr sqlist)
//清空
sqlist->length=0;
}void
destroylist_sq
(sqlistptr sqlist)
// 銷毀
sqlist->length=0;
}
8、測試用例**int
main()
showlist_sq
(&sq)
;deletelist_sq_pos
(&sq,4)
;showlist_sq
(&sq)
;clearlist_sq
(&sq)
;showlist_sq
(&sq)
;destroylist_sq
(&sq)
;showlist_sq
(&sq)
;}
帶頭節點的鍊錶
include include includetypedef int type typedef struct node node 建立乙個頭節點並將其指標返回 node node init 列印乙個鍊錶 void node display node head else printf n 找到第n個節...
C語言下的核心鍊錶
二.核心鍊錶 核心鍊錶是一種鍊錶,linux核心中的鍊錶都是用這種形式實現的 1.特性 核心鍊錶是一種雙向迴圈鍊錶,核心鍊錶的節點節點結構中只有指標域 使用核心鍊錶的時候,將核心鍊錶作為乙個成員放入到乙個結構體中使用 我們在鍊錶中找到核心鍊錶結構的位址,通過這個位址就可以找到外部大結構體的位址,通過...
帶頭節點鍊錶的遞迴演算法
include using namespace std typedef class student linklist,link void init link linklist l void input link linklist l,int e 尾插法建立鍊錶 void delete link li...