您的位置:首页 > 理论基础 > 数据结构算法

数据结构实践——顺序表应用(1)

2015-09-21 16:07 471 查看
/*
* Copyright (c) 2015, 烟台大学计算机与控制工程学院
* All rights reserved.
* 文件名称:main.cpp,list.cpp,list.h
* 作者:唐子健
* 完成日期:2015年9月21日
* 版本号:vc++6.0
*

#include <stdio.h>
#include <malloc.h>
#define MaxSize 50
typedef int ElemType;
typedef struct
{
ElemType data[MaxSize];
int length;
}SqList;
void CreateList(SqList *&L,ElemType a[],int n);
void DispList(SqList *L);
void delx2y(SqList *&L, ElemType x,  ElemType y);
<p>#include"list.h"
void CreateList(SqList *&L,ElemType a[],int n) 
{ 
    int i; 
    L=(SqList *)malloc(sizeof(SqList)); 
    for(i=0;i<n;i++) 
        L->data[i]=a[i]; 
    L->length=n; 
} 
void DispList(SqList *L) 
{ 
    int i; 
    for(i=0;i<L->length;i++) 
        printf("%d ",L->data[i]); 
    printf("\n"); 
}  </p><p>//删除线性表中,元素值在x到y之间的元素
void delx2y(SqList *&L, ElemType x,  ElemType y)
{
    int k=0,i; //k记录非x的元素个数
    ElemType t;
    if(x>y)
    {
        t=x;
        x=y;
        y=t;
    }
    for (i=0; i<L->length; i++)
        if (L->data[i]<x || L->data[i]>y )  //复制不在[x, y]之间的元素
        {
            L->data[k]=L->data[i];
            k++;
        }
    L->length=k;
}</p><p>#include"list.h"
int main()
{
    SqList *sq;
    ElemType a[10]= {5,8,7,0,2,4,9,6,7,3};
    CreateList(sq, a, 10);
    printf("删除前 ");
    DispList(sq);</p><p>    delx2y(sq, 4, 7);</p><p>    printf("删除后 ");
    DispList(sq);
    return 0;
}</p><p>结果为:</p><p><img src="https://img-blog.csdn.net/20150921160853761?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" /></p>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: