鍊錶的初始化、插入、刪除、查詢等操作(詳細!)
最近在學習資料結構和演算法,為了提高對**的理解,把自己手寫的**分享出來,以下是**:
//
// main.c
// list_0911
//// created by wangping on 2020/9/11.
//#include #include #include #define ok 1
#define error 0
typedef int elemtype;
typedef int status;
typedef struct node
node, *linklist;
// 初始化鍊錶
status initlist(linklist *l)
int data = 0;
// 建立頭結點
node *head = (node *)malloc(sizeof(node));
if (head == null)
// 頭指標指向頭結點
*l = head;
printf("請輸入結點資料, 0代表結束初始化:\n");
while (1)
// 建立結點
node *node = (node *)malloc(sizeof(node));
if (node == null)
node->data = data;
node->next = null;
head->next = node;
head = node;
}return ok;
}// 在l中第i個位置之前插入資料元素e
status listinsert(linklist *l, int i, elemtype e)
if( !p || j > i )
s = (linklist)malloc(sizeof(node));
s->data = e;
s->next = p->next;
p->next = s;
return ok;
}// 刪除單鏈表l中的第i個元素
status listdelet(linklist *l, int i, elemtype *e)
if(!p->next || j>i)
q = p->next;
p->next = q->next;
*e = q->data;
free(q);
return ok;
}// 獲取鍊錶l中的第i個元素,並把值賦給e
status getelem(linklist l, int i, elemtype *e)
if( !p || j > i )
*e = p->data;
return ok;
}// 獲取資料在鍊錶中的位置
int listindex(linklist l, int data)
node *node = null;
int length = 0;
int index = -1;
for (node = l->next; node != null; node = node->next)
}if (index == -1)
else
return index;
}// 獲取元素個數
int listlength(linklist l)
node *temp = null;
int num = 0;
for (temp = l->next; temp != null; temp = temp->next)
return num;
}// 檢視鍊錶
void showlinklist(linklist l)
printf("\n");
}int main(int argc, const char * ar**)
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
default:
break;}}
return 0;
}
有問題大家一起討論交流呀! 迴圈鍊錶的初始化 插入 刪除等操作
附上迴圈鍊錶的初始化 元素插入和刪除等操作。main.c clinklist created by wangping on 2020 9 10.include include typedef int elemtype 定義結構體 typedef struct clinklist node 初始化迴圈...
順序表實現初始化 插入 刪除 銷毀等操作
include include using namespace std define error 0 define ok 1 define overflow 1 define list init size 100 根據實際情況,調整初始分配空間大小 define listincrement 10 當...
靜態鍊錶的初始化 插入 刪除
include include define ok 1 define true 1 define error 1 define false 1 define overflow 2 define elemtype int define status int 靜態鍊錶 x 使用陣列實現鍊錶,可以在沒有指...