自己做的网站能被百度收录吗,做网站与网店运营,全媒体广告代理加盟,学做ps的网站函数功能#xff1a;
0.排序#xff08;逆置和顺序排序#xff09; 1.回显 2.头插 3.位插 4.尾插 5.尾删 6.头删
7.位删 8.查找 #xff08;按值或按位查找#xff09; 9.修改 #xff08;按值或按位修改#xff09; 10.退出
main.c
… 函数功能
0.排序逆置和顺序排序 1.回显 2.头插 3.位插 4.尾插 5.尾删 6.头删
7.位删 8.查找 按值或按位查找 9.修改 按值或按位修改 10.退出
main.c
#include link.hint main()
{link_p H link_create();if(NULL H)printf(申请失败);else{int i;do{printf(0.排序\t1.回显\t2.头插\t3.位插\t4.尾插\t5.尾删\n);printf(6.头删\t7.位删\t8.查找\t9.修改\t10.退出\n);printf(请输入指令选项);scanf(%d, i);switch(i){case 0: link_short(H);break;case 2: head_add(H);break;case 1: link_show(H);break;case 3: idex_inset(H);break;case 4: tail_add(H);break;case 5: tail_delete(H);break;case 6: head_delete(H);break;case 7: idex_delete(H);break;case 8: idex_find(H);break;case 9: idex_change(H);break;case 10: link_delete(H);printf(已退出\n);break;}}while(10! i);}
}link.c
#include link.h//create link head
link_p link_create()
{link_p H (link_p)malloc(sizeof(link));if(NULL H){printf(失败);return NULL;}H - len 0;printf(申请成功\n);return H;
}//创建数据结点
link_p link_node()
{link_p p (link_p)malloc(sizeof(link));if(NULL p){printf(失败);return NULL;}printf(请输入数据结点存储的值);scanf(%d, p - data);p - next NULL;return p;
}//头插
void head_add(link_p H)
{link_p in link_node();in - next H - next;H - next in;H - len;
}//尾插
void tail_add(link_p H)
{//创建结点link_p p link_node();//将结点链接到尾部link_p q H;for(int i 0; i H - len; i)q q - next;q - next p;H - len;
}//位插
void idex_inset(link_p H)
{//输入位置判断是否能进行插入操作printf(位置);int num;scanf(%d, num);if(num 1 || num H - len 1){printf(插入失败);return;}//找到插入位置的前一个结点link_p q H;for(int i 0; i num - 1; i)q q - next;//创建结点链接到尾部 link_p p link_node();p - next q - next;q - next p;H - len;
}//头删
void head_delete(link_p H)
{if(empty(H)){printf(空);return;}link_p p H - next;H - next p - next;H - len--;free(p);p NULL;}//尾删
void tail_delete(link_p H)
{if(empty(H)){printf(空);return;}link_p q H;for(int i 0; i H - len - 1; i)q q - next;//找到倒数第二个数据的地址link_p p q - next;q - next p - next; H - len--;free(p);p NULL;
}//位删
void idex_delete(link_p H)
{printf(位置);int num;scanf(%d, num);if(empty(H) || num H - len || num 1){printf(空);return;}link_p q H;for(int i 0; i num - 1; i)q q - next;link_p p q - next;q - next p - next;H - len--;free(p);p NULL;
}//查找
link_p idex_find(link_p H)
{if(empty(H)){printf(空);return NULL;}printf(1.按位查找\t2.按值查找\n请输入你的选项:);int n;scanf(%d, n);switch(n){case 1:printf(位置);scanf(%d, n);if(n H - len || n 1){printf(空);return NULL;}link_p q H;for(int i 0; i n; i)q q - next;return q;case 2: printf(请输入查找的值);datatype data;scanf(%d, data);link_p p H - next;do{if(p - data data){printf(%p\n, p);return p;}p p - next;}while(p ! NULL);printf(没有你要查找的值\n);}
}//修改
void idex_change(link_p H)
{if(empty(H)){printf(空);return;}printf(1.按位修改\t2.按值修改\n请输入修改选项);int i;scanf(%d, i);switch(i){case 1:printf(位置);int num;scanf(%d, num);if(empty(H) || num H - len || num 1){printf(空);return;}link_p q H;for(int i 0; i num; i)q q - next;printf(请输入修改后的值);scanf(%d, q - data);link_show(H);break;case 2:if(empty(H)){printf(空);return;}printf(请输入需要修改的值);datatype data;scanf(%d, data);link_p p H - next;for(int i 0; i H - len; i){if(p - data data){printf(请输入修改后的值);scanf(%d, p - data);return;}p p - next;}printf(没有你要修改的值);}
}//排序
void link_short(link_p H)
{if(empty(H)){printf(空);return;}printf(1.顺序排序\t2.逆置\n请输入你的选项);int n, m, i;scanf(%d, n);link_p q H - next;m H - len; datatype arr[m];switch(n){case 1:for(int i 0; i H - len - 1; i){link_p p q - next;for(int j i 1; j H - len; j){if(q - data p - data)p - data q - data p - data - (q - data p - data);p p - next;}q q - next;}break;case 2:i 0;n H - len; q H - next;do{arr[i] q - data;i;q q - next;}while(q ! NULL);q H - next;do{m--;q - data arr[m];q q -next;}while(q ! NULL);}link_show(H);
}//销毁链表
void link_delete(link_p H)
{while(H - next ! NULL)tail_delete(H);
}
//回显数据
void link_show(link_p H)
{if(empty(H)){printf(空);return ;}link_p p H - next;printf(————);for(int i 0; i H - len; i){printf(%d,p - data);p p - next;}printf(————);putchar(10);
}//判空
int empty(link_p H)
{return H NULL;
}link.h
#ifndef __LINK_H__
#define __LINK_H__#include stdio.h
#include stdlib.h
#include string.htypedef int datatype;
typedef struct link
{union{datatype data;int len;};struct link *next;
}link, *link_p;//创建头结点和数据节点
link_p link_create();
link_p link_node();//节点功能函数
void head_add(link_p H);
void tail_add(link_p H);
void idex_inset(link_p H);
void head_delete(link_p H);
void tail_delete(link_p H);
void idex_delete(link_p H);
link_p idex_find(link_p H);
void idex_change(link_p H);
void link_delete(link_p H);
void link_short(link_p H);
void link_show(link_p H);
int empty(link_p H);
#endif