打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
顺序算法
#include "stdio.h"#include "stdlib.h"#define MaxSize 100typedef struct sqlist{    int data[MaxSize];    int length;    }SqList;void CreateList(SqList *p,int data[],int n);int  ListInsert(SqList *p,int i ,int e); void ShowList(SqList *p,int n);void main(){    SqList*L;int data[6]={34,178,2,88,76,10},n,j;//顺序表初始化 L=(SqList *)malloc(sizeof(SqList));if(!L)    printf("内存分配失败");else    L->length=0;CreateList(L,data,6);ShowList(L,6); // 插入元素 printf("请输入插入值的位置和数值(逗号分隔):");scanf("%d,%d",&j,&n);n=ListInsert(L,j,n);if(n==-1)   printf("插入位置有问题!\n");else   ShowList(L,n);//删除元素 printf("请输入删除的位置:");scanf("%d",&j);n=ListDelete(L,j);if(n==-1)   printf("删除失败!\n");else   printf("删除的元素为:%d\n",n);ShowList(L,L->length);//释放空间 free(L);}//创建 void CreateList(SqList *p,int data[],int n){    int i;    for(i=0;i<n;i++)    p->data[i]=data[i];    p->length=n;}  //插入 int  ListInsert(SqList *p,int i ,int e){int j;if(i<1|| i>p->length+1)return -1;i--;//形象i是逻辑位序 for(j=p->length ; j>i ; j--)p->data[j]=p->data[j-1];p->data[i]=e;p->length++;return p->length;}  //显示 void ShowList(SqList *p,int n){    int j;    for(j=0;j<n;j++)    printf("%d",p->data[j]);    printf("\t顺序表长度为:%d\n",p->length);}//删除int ListDelete(SqList *L,int i){    int k;int x;    if(L->length==0)    {       printf("此表为空表,无法删除!");       return -1;        }    else if(i<i || i>L->length)     {       printf("删除的位置有误!");       return -1;        }    else{        x=L->data[i-1];        for(k=i;k<L->length;k++)        L->data[k-1]=L->data[k];        L->length--;        return x;    }} 

 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
动态顺序表的实现及应用
数据结构查找
动态分配的顺序线性表的十五种操作—C语言实现
各种排序算法--全
【数据结构笔记】顺序表——静态分配
第三十七课 实验八 排序实验
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服