欢迎关注我的微信公众号“C语言修仙”,获取更多C语言知识分享、代码分享、工具分享。
正文:
这是一个带头节点的单链表单实现。代码在VC6.0下编写的。工程包含三个文件:slist.h、slist.c、main.c
,分别是单链表头文件、单链表函数实现源文件、主函数源文件。
代码完全我自己手打。
下面是运行结果:
话不多说,贴上代码:(另外,大家可以在我单公众号后台,回复“单链表,获取完整的VC工程文件下载链接”)
*************************************************************slist.h****************************************
//带头节点单单链表
struct slist_node{
int data;
slist_node * next;
};
struct slist{
slist_node * head;
int lenth;
};
//把一个数组的数据,建立一个单链表,
void init(slist * list, int *a, int len);
void display(slist * list);
//查找一个元素,返回index索引
int find(slist * list, int data);
//在链表的任意位置添加一个元素
void add_element(slist * list, int data, int pos);
//删除第pos个位置单节点
bool delete_element(slist * list, int pos);
//排序。采用冒泡排序法,从小达到排序。
bool sort(slist * list);
***********************************************************slist.cpp
# include"slist.h"
# include<stdio.h>
# include<stdlib.h>
void init(slist * list, int *a, int len)
{
// slist * tmp_list = (slist *)malloc(sizeof(struct slist));<