| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2909 人关注过本帖
标题:数据结构顺序链表c语言实现代码
取消只看楼主 加入收藏
星野
Rank: 2
来 自:河北
等 级:论坛游民
帖 子:73
专家分:26
注 册:2016-4-13
结帖率:82.35%
收藏
已结贴  问题点数:10 回复次数:1 
数据结构顺序链表c语言实现代码
程序代码:
#include<stdio.h>
#include<malloc.h>
#define MAXSIZE 100
#define ERROR 0
#define TRUE 1

typedef struct
{
    int data[MAXSIZE];
    int length;
}SqList;
int InitList(SqList *L,int e)
{
    L->length=e;
}//组建

int Insert(SqList *L,int i,int e)
{
    int k;
    if(i<1||i>L->length+1)
    {
        return ERROR;
    }
    if(L->length>=MAXSIZE)
    {
        return ERROR;
    }
    for(k=L->length-1;k>=i-1;k--)
    {
        L->data[k+1]=L->data[k];
    }
    L->data[i-1]=e;
    L->length++;
    return 1;
}//插入

int DestroyList(SqList *L,int i,int *e)
{
    int k;
    if(i<1||i>L->length)
    {
        return ERROR;
    }
    *e=L->data[i-1];
    for(k=i;k<L->length;k++)
    {
        L->data[k-1]=L->data[k];
    }
    L->length--;
    return 1;
}//删除

int Iocate(SqList L,int e)
{
    int i=0;
    while((i<=L.length)&&(L.data[i]!=e))
        i++;
    if(i<=L.length)
        return i+1;
    else
        return ERROR;

}//查找
void menu()
{
    printf("请第一步建立线性表\n");
    printf("1、建立线性表***********\n");
    printf("2、插入**********\n");
    printf("3、删除**********\n");
    printf("4、查找**********\n");
    printf("5、遍历输出********\n");
    printf("");
    printf("*6、退出**********\n");
}
int main()
{
    int num,length,number,location;
    int i,e;
    int *data;
    data=(int*)malloc(sizeof(int));
    SqList *L;
    menu();
    while(1)
    {
        printf("请输入你的选择:\n");
        scanf("%d",&num);
        switch(num)
        {
            case 1:
                L=(SqList *)malloc(sizeof(SqList));
                printf("请输入线性表的长度");
                scanf("%d",&length);
                InitList(L,length);
                printf("依次输入线性表的%d个值",length);
                for(i=0;i<length;i++)
                    {
                    scanf("%d",&number);
                    L->data[i]=number;
                    }
                printf("输入完成");
                break;
                case 2:
                    printf("请输入你要插入的数值和位置");
                    scanf("%d %d",&e,&location);
                    if(Insert(L,location,e)==TRUE)
                        printf("插入成功");
                    else
                        printf("插入失败");
                    break;
                    case 3:
                        printf("请输入你要删除的节点数");
                        scanf("%d",&i);
                        if(DestroyList(L,i,data))
                            printf("删除成功,删除的节点数值为%d",number);
                        else
                            printf("删除失败");
                        break;
                        case 4:
                            printf("请输入你要查找的数值");
                            scanf("%d",&e);
                            Location=Locate(*L,e);
                            printf("你要查找的节点数值为%d",location);
                            break;
                            case 5:
                                for(i=0;i<=L->length;i++)
                                    printf("%d",L->data[i]);
                                break;
                                case 6:
                                    return 0;
    }
    }
    printf("\n");
    return 0;


}


不会改了   不知道什么原因!求助!求助!求助!

[此贴子已经被作者于2016-9-26 21:20编辑过]

搜索更多相关主题的帖子: c语言 
2016-09-26 19:34
星野
Rank: 2
来 自:河北
等 级:论坛游民
帖 子:73
专家分:26
注 册:2016-4-13
收藏
得分:0 
回复 3楼 书生牛犊
   谢谢   其实我只是一个刚上大二的学生  现在只学了一个c,这学期才刚刚开了一个数据结构  什么都不懂 都要崩溃了  代码什么的  都看不懂!希望前辈多多关照
2016-09-28 18:15
快速回复:数据结构顺序链表c语言实现代码
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019953 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved