zoukankan      html  css  js  c++  java
  • 顺序表的创建—数据结构算法

    代码功能截图:

    部分源码:

    #include<stdio.h>
    #include<stdlib.h>
    #define MAXSIZE 20
    typedef int ElemType;
    typedef struct
    { ElemType a[MAXSIZE];
    int length;
    }SqList;
    SqList a,b,c;
    void creat_list(SqList *l);
    void out_list(SqList l);
    void insert_sq(SqList *l,int i,ElemType e);
    ElemType delete_sq(SqList *l,int i);
    int locat_sq(SqList l,ElemType e);
    int main()
    {int i,k,loc;ElemType e,x;char ch;
    do{
    printf("
    ");
    printf("
     1.建立顺序表");
    printf("
     2.插入元素");
    printf("
     3.删除元素");
    printf("
     4.查找元素");
    printf("
     0.结束程序运行");
    printf("
    ============================");
    printf("
     请输入您的选择(1,2,3,4,0) 
    ");
    
    scanf("%d",&k);
    switch(k)
    {case 1:{creat_list(&a);
    out_list(a);
    } break;
    case 2:{printf("
     请输入插入位置(大于等于1,小于等于%d):",a.length+1);
    scanf("%d",&i);
    printf("
     请输入要插入元素值:");
    scanf("%d",&e);
    insert_sq(&a,i,e);
    out_list(a);
    } break;
    case 3:{printf("
     请输入要删除的元素的位置(大于等于1,小于等于%d):",a.length);
    scanf("%d",&e);
    x=delete_sq(&a,e);
    out_list(a);
    if(x!=-1) printf("
    删除的元素为:%d
    ",x);
    else printf("要删除的元素不存在!");
    } break;
    case 4:{printf("
     请输入要查找元素值:"); 
    scanf("%d",&e);
    loc=locat_sq(a,e);
    if(loc==-1) printf("
    未找到指定元素!");
    else printf("已找到,元素位置是%d",loc);
    }break;
    }/*switch*/
    }while(k!=0);
    printf("
     按Enter键,返回...");
    // ch=getchar();
    }/* main*/
    /*建立顺序表*/
    void creat_list(SqList *l)
    { int i;
    printf("请输入顺序表的长度:");
    scanf("%d",&l->length);
    for(i=0;i<l->length;i++)
    { printf("数据 %d=",i);
    scanf("%d",&(l->a[i]));
    }
    }/*creat_list*/
    
    /*输出顺序表*/
    void out_list(SqList l)
    {int i;
    for(i=0;i<=l.length-1;i++)
    printf("%10d",l.a[i]);
    }/*out_list*/
    
    /*在顺序表的第i个位置插入元素e*/
    void insert_sq(SqList *l,int i,ElemType e)
    { int j;
    if(l->length==MAXSIZE) printf("顺序表已满!
    ");
    else if (i<1||i>l->length +1) printf("输入位置错误
    ");
    else{
    for(j=l->length-1;j>=i-1;j--) l->a[j+1]=l->a[j];
    l->a[i-1]=e;
    l->length++;
    }
    }/*insert_sq*/
    

      

    注意这里仅为部分代码。获取源码请关注“值南针”微信公众号:可用电脑微信关注或手机关注。在电脑方便。直接下载源码。

    点击下载直接就可以用的。

     

  • 相关阅读:
    删除XML文档中某节点
    水晶报表之创建子报表
    给字符串中的每个字符加上单引号
    Failed to export using the options you specified. Please check your options and try again
    从ASP.NET传递参数给水晶报表
    两个文本框异动任何一个能即时更新计算结果
    添加节点至XML文档中去
    读取XML文档存入泛型List<T>集合中
    泛型List<T>转存为XML文档
    怎样创建XML文档
  • 原文地址:https://www.cnblogs.com/honeynan/p/12215221.html
Copyright © 2011-2022 走看看