北京怎么样做网站,软件开发项目实施方案,山西网站建设免费,谈谈什么是网络营销顺序表的创建需要用到结构体#xff0c;构造一个结构体来存储数据#xff0c;顺序表申请的内存是连续的。创建顺序表的思路按照数据的“增删改查来进行编写”下列是顺序表的创建代码创建头文件#xff1a;sqlist.h#ifndef SQLIST_H#define SQLIST_H#define N 100#define min…顺序表的创建需要用到结构体构造一个结构体来存储数据顺序表申请的内存是连续的。创建顺序表的思路按照数据的“增删改查来进行编写”下列是顺序表的创建代码创建头文件sqlist.h#ifndef SQLIST_H#define SQLIST_H#define N 100#define ming 1119#define shu 1120typedef int T;typedef struct sqlist{T data[N];//定义一个整形数组来存储数据int size;//定义一个变量来记录数据的个数}sqlist,*sqlink;sqlink create_sqlist();//1.创建顺序表sqlink insert_by_pos(sqlink sq,T dt,int index);//2.在任意位置插入void traval(sqlink sq);//3.遍历函数(也就是将顺序表中的数据打印出来的函数)void destroy_sqlist(sqlink sq);//5销毁链表sqlink insert_by_tail(sqlink sq,T dt);//4.在尾部插入T search_by_pos(sqlink sq,int index);//7.按位置查找T search_by_value(sqlink sq,T dt);//8.按数值查找void delete_by_pos(sqlink sq,int index);//9.按位置删除void delect_by_value(sqlink sq,T dt);//10.按数值删除sqlink change_by_pos(sqlink sq,T dt,int index);//11.按位置修改sqlink change_by_value(sqlink sq,T dt1,T dt);//12.按数值修改,把相同的改了#endif下面的是功能函数sqlist.c#include#include “sqlist.h”#include//1.创建顺序表sqlink create_sqlist(){sqlink sq(sqlink)malloc(sizeof(sqlist));//sq为结构体类型指针用来存结构体结构体if(sq)//如果分配成功{sq-size0; //初始化元素的个数为0}return sq;}//2.在任意位置插入(思路是将数组的元素往后移动从后往前移动)sqlink insert_by_pos(sqlink sq,T dt,int index){int i0;if(sq)//判断顺序表是否存在存在则进行操作{if(index0||indexsq-size)//非法插入位置不插入{printf(index is out of the range\n);}else{for(isq-size;iindex;i--){sq-data[i]sq-data[i-1];}sq-data[index]dt;(sq-size);//插入一个数之后个数要加一}}else//顺序表不存在就会打印sq为空{printf(sq is null\n);}return sq;}//3.遍历函数(将结构体里面的数组存储的数据打印出来)void traval(sqlink sq){int i0;if(sq){for(i0;isize;i)printf(%d “,sq-data[i]);}else{printf(“sq is null\n”);}printf(”\n);}//4.在尾部插入sqlink insert_by_tail(sqlink sq,T dt){if(sq){sq-data[(sq-size)]dt;}else{printf(sq is null\n);}return sq;}//5销毁链表void destroy_sqlist(sqlink sq){if(sq){free(sq);}}//7.按位置查找(index是数组的下标size则是个数所以index的范围是0~size-1index大于size-1和小于零的数是不存在的也就是非法位置)T search_by_pos(sqlink sq,int index){if(sq){if(index0||indexsq-size-1){printf(“index is out of the range\n”);return -ming;}else{return sq-data[index];}}else{printf(sq is null\n);return -shu;}}//8.按数值查找(将相同的数据找出来)T search_by_value(sqlink sq,T dt){int i0;if(sq){for(i0;isize;i){while(sq-data[i]dt){printf(“i%d “,i);break;}}printf(”\n”);}else{printf(sq is null\n);return -shu;}return ming;}//9.按位置删除void delete_by_pos(sqlink sq,int index){int i0;if(sq){for(iindex;isize;i){sq-data[i]sq-data[i1];}(sq-size)–;//删除之后个数要减去1}else{printf(sq is null\n);}}//10.按数值删除(删除所有与要删除数字相同的数字)void delect_by_value(sqlink sq,T dt){int i0;if(sq){for(i0;isize;i){while(sq-data[i]dt){printf(i%d ,i);delete_by_pos(sq,i);//查找到数据之后把位置记录下来按位置进行break;}}}else{printf(“sq is null\n”);}}//11.按位置修改sqlink change_by_pos(sqlink sq,T dt,int index){if(sq){if(index0||indexsq-size-1){printf(“index is out of range\n”);}else{sq-data[index]dt;}}else{printf(sq is null\n);}return sq;}//12.按数值修改,把相同的改了sqlink change_by_value(sqlink sq,T dt1,T dt){int i0;if(sq){for(i0;isize;i){while(sq-data[i]dt){sq-data[i]dt1;break;}}}else{printf(sq is null\n);}}主函数main.c#include#include “sqlist.h”int main(){sqlink sq create_sqlist();insert_by_pos(sq,1,0);insert_by_pos(sq,2,0);insert_by_pos(sq,3,0);insert_by_pos(sq,4,0);insert_by_tail(sq,2);insert_by_tail(sq,3);insert_by_tail(sq,4);traval(sq);//printf(data%d,search_by_pos(sq,2));//search_by_value(sq,4);//delete_by_pos(sq,0);//delect_by_value(sq,4);//printf(\n);//change_by_pos(sq,520,2);change_by_value(sq,520,4);//把所有的4改成520traval(sq);destroy_sqlist(sq);return 0;}主函数这里只是调用了一些函数的功能而已下面给大家附上图片前面的1,2,3,4是用了头插()的方式所以顺序是反的后面的2,3,4是尾插法。