2 steve yanrun steve_yanrun 于 2016.02.14 18:08 提问

数据结构顺序表C语言实现

如下代码所示:

 #include <stdio.h>
#include <malloc.h>
#define MAXSIZE 100

typedef int Position;
typedef struct LNode *List;
struct LNode{
    int Data[MAXSIZE];
    Position last;
};

List initList(){
    List L;
    L = (List)malloc(sizeof(struct LNode));
    L->last = -1;
    printf("初始化成功\n");
    return 1;
}

List createList(List L){
    int n,i=1;
    printf("请输入创建表的元素个数:");
    scanf("%d",&n);
    for(i=1;i<=n;i++){
        printf("\n请输入第%d个元素:",i);
        scanf("%d",&L->Data[i]);
    }
    for(i=1;i<=n;i++){
        printf("创建的表为:\n");
        printf("%d",L->Data[i]);
    }
}

void main(){
    List L;
    initList(L);
    createList(L);
}

在VC++ 6.0每次运行,一输入数据,就提示关闭程序。
小白刚刚弄数据结构,请大家帮忙看看哪里有问题,谢谢!

3个回答

fk002008
fk002008   2016.02.14 18:20
已采纳
List initList(){
    List L;
    L = (List)malloc(sizeof(struct LNode));
    L->last = -1;
    printf("初始化成功\n");
    return 1;
}

这个定义错了
你的返回值是1 ,1 怎么是List类型呢
另外如果你使用这个返回值List作为初始化的顺序表,那么在main函数中使用的时候,使用方法错了哦

void main(){
    List L;
   ** initList(L);
**    createList(L);****
}

改成这个
List L = initList()

jpzhu16
jpzhu16   2016.02.14 22:52

你不会Debug吗?

91program
91program   Ds   Rxr 2016.02.14 18:19

你想做什么呢?不提示关闭程序,而不可以执行很多步骤吗?如果是,你至少要设计一个 While 循环,根据不同的输入来执行不同的操作,如:插入、删除、遍历等。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
c语言实现数据结构中顺序表的源代码
对于很多初学c语言的同学·,虽然都能理解数据结构中的思想,但是不一定能用c一行一行撸出一个完整的代码,我最近也正好在重新看数据结构,所以就把c语言实现数据结构源代码放出来帮助初学者。
【数据结构】C语言实现顺序表
这是自己上数据结构课程时候的练习,贴出来,做备忘。 #include #include #include #include #include #define LIST_INIT_SIZE 100 #define LISTINCREMENT 10 #define FALSE 0 #define TRUE 1 #define OK 1 #define ERROR 0 #defin
数据结构——顺序表(C语言实现)
顺序表的定义和特点           顺序表的定义是:把线性表中所有表项按照其逻辑顺序依次存储到从计算机存储中指定存储位置开始的一块连续的存储空间中。这样,线性表中第一个表项的存储位置就是被指定的存储位置,第i个表项(2 ≤ i ≤ n)的存储位置紧接在第i - 1个表项的存储位置的后面。假设顺序表中每个表项的数据类型为T,则每个表项所占用存储空间的大小相同,均为sizeof(T),整个顺序表
数据结构 顺序表的插入与删除算法的C语言实现
数据结构 顺序表的插入与删除算法的C语言实现,该文档与《数据结构(C语言版)》相配套,基于课本实例
数据结构之---C语言实现顺序表查找(一)
数据结构之---C语言实现顺序表查找(一)
数据结构(c语言版)顺序表的建立、初始化、插入、删除、遍历等12个基本操作及测试
数据结构是计算机类学生基本上必修的一门课程,也是比较难得一门课程。对于初学shujujiegouderenlaishui最近写了个数据结构的顺序表,运行了一下感觉还可以,所以想拿出来和大家分享一下
【数据结构】用C语言实现顺序表的各种操作(包括头删,尾删,插入,逆序,摧毁,清空等等)
//顺序表的各种操作(包括头删,尾删,插入,逆序,摧毁,清空等等) //头文件 #ifndef _SEQLIST_H #define _SEQLIST_H #include int x; typedef int ElemType; #define INIT_SIZE 8 typedef struct SeqList { ElemType *base; size_t
数据结构,顺序表的查找。c语言程序
数据结构顺序表的查找。顺序查找!c语言编写!!!!!!!
数据结构-C语言 顺序表实现并集运算 A=A∪B
花了三天时间 实现了算法2-1 不足之处,欢迎指正 问题2-1:假设利用两个线性表LA,LB分别表示两个集合A,B,先要求一个新的集合A=AUB。这就要去对线性表作如下操作:扩大线性表LA,将存在于线性表LB中而不存在与LA中的数据元素插入到线性表LA中去。只要从线性表LB中依次取得每个数据元素,并依值在LA中进行查访,若不存在,则插入之。 //算法2-1 实现A=AUB #include
数据结构-队列-顺序表实现-C语言
队列定义对于一个存取的n个内容,最先进入的最先出去(First In,First Out:FIFO),即称为队列. 比如,食堂排队,最先去的,最先得到饭菜; 关键步骤:入队出队代码实现//循环队列 顺序表实现#include <stdio.h> #include <stdlib.h> #include <stdbool.h>//定义队列结构 typedef struct _Queue Queue