当前位置: 首页> 房产> 家装 > 营销企业网站制作_logo图片大全简单_什么是网络营销含义_新媒体运营岗位职责

营销企业网站制作_logo图片大全简单_什么是网络营销含义_新媒体运营岗位职责

时间:2025/7/13 5:09:53来源:https://blog.csdn.net/m0_71556251/article/details/142411008 浏览次数:0次
营销企业网站制作_logo图片大全简单_什么是网络营销含义_新媒体运营岗位职责

一、函数声明部分

#ifndef __LINK_H__
#define __LINK_H__
#include <myhead.h>
typedef struct Link1
{union{int len;//用于头结点,统计节点个数int data;//用于正常节点,存储数据};struct Link1 *next;//指针域
}Link,*Plink;/**********函数声明**********/
//1.创建头结点
Plink create();
//1.1头插法
int front_insert(Plink l, int m);
//1.2尾插法
int last_insert(Plink l, int m);
//2.输出
void output_link(Plink l);
//3.任意位置插入一个节点
void anywhere_insert(Plink l, int pos, int m);	
//4.任意位置删除一个节点
void anywhere_delete(Plink l, int pos);
//5.任意位置查找一个节点
void anywhere_search(Plink l, int pos); 
//6.任意位置修改一个节点
void anywhere_rebuild(Plink l, int pos, int m);#endif

二、函数(功能)实现部分

1、创建头节点

//创建头结点
Plink create()
{Plink p = malloc(sizeof(Link));if(p == NULL){printf("申请头结点失败!");return NULL;}p->len = 0;p->next = NULL;return p;
}

2、头插法插入节点

//头插法
int front_insert(Plink l , int m)
{if(NULL == l){printf("单链表不存在!\n");return -1;}Plink p = malloc(sizeof(Link));p->data = m;//把数据存入新节点p->next = l->next; //新节点指向旧的第一个节点l->next = p; //头结点指向新节点l->len++; //节点个数+1return 0;
}

3、尾插法插入节点

//尾插法
int last_insert(Plink l, int m)
{if(NULL == l){printf("单链表不存在!\n");return -1;}Plink t = l;for(int i=0; i<l->len; i++){t = t->next;}Plink p = malloc(sizeof(Link));p->data = m; //把数据存入新节点t->next = p; //最后一个节点指向新节点p->next = NULL; //新节点指向空l->len++; //节点个数+1return 0;
}

4、遍历输出

//输出
void output_link(Plink l)
{Plink t = l;for(int i=0; i<l->len; i++){ //循环len次t = t->next;printf("%d\t",t->data); //数据域}printf("\n");
}	

5、任意位置插入一个节点

//3.任意位置插入一个节点
void anywhere_insert(Plink l, int pos, int m)
{if(NULL == l || pos<1 || pos>l->len+1){printf("插入失败!\n");return;}Plink t = l;for(int i=1; i<pos; i++){t = t->next;}Plink p = malloc(sizeof(Link));p->data = m;p->next = t->next;t->next = p;l->len++;
}

6、任意位置删除一个节点

//4.任意位置删除一个节点
void anywhere_delete(Plink l, int pos)
{if(NULL == l || pos<1 || pos>l->len){printf("不允许删除!\n");return;}Plink t = l;for(int i=1; i<pos; i++){t = t->next;}Plink q = t->next; //保留要删除的节点t->next = t->next->next; //删除链接l->len--;free(q); //删除后释放q = NULL; //置空
}

7、任意位置查找一个节点

//5.任意位置查找一个节点
void anywhere_search(Plink l, int pos)
{if(NULL == l || pos<1 || pos>l->len){printf("查找失败!\n");return;}Plink t = l;for(int i=1; i<=pos; i++){t = t->next;}printf("第%d个节点的数据是:%d\n",pos, (t->data) );
}

8、任意位置修改一个节点

//6.任意位置修改一个节点
void anywhere_rebuild(Plink l, int pos, int m)
{if(NULL==l || pos<1 || pos>l->len){printf("修改失败!\n");return;}Plink t = l;for(int i=1; i<=pos; i++){t = t->next;}t->data = m;
}

三、主函数部分

#include"link.h"int main(int argc, const char *argv[])
{int a[10]={0,1,2,3,4,5,6,7,8,9};//1.创建头结点Plink l = create();//1.1头插法for(int i=0; i<10; i++){front_insert(l, a[i]);}output_link(l);//1.2尾插法for(int i=0; i<10; i++){last_insert(l, a[i]);	}output_link(l);//3.任意位置插入一个节点anywhere_insert(l, 5, 666);output_link(l);//4.任意位置删除一个节点anywhere_delete(l, 8);output_link(l);//5.任意位置查找一个节点anywhere_search(l, 10);//6.任意位置修改一个节点anywhere_rebuild(l ,2, 999);output_link(l);free(l); //释放内存l = NULL; //置空return 0;
}

关键字:营销企业网站制作_logo图片大全简单_什么是网络营销含义_新媒体运营岗位职责

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: