初始化失败-顺序链表初始化错误,表的长度无法初始化

问题描述

顺序链表初始化错误,表的长度无法初始化
#include <stdio.h>
#include <stdlib.>

// squeue list operator

#define MAXSIZE 100

typedef int Dataype;

typedef struct
{
    Dataype data[MAXSIZE];
    int length;
}Sqlist;

// init a sqlist
void Init_sqlist(Sqlist *list)
{
    list = (Sqlist *)malloc(sizeof(Sqlist));
    list->length = 10;
    if (NULL == list)
    {
        perror("Init_sqlist error");
        exit(-1);
    }
}
// append element to sqlist
void Append_sqlist(Sqlist *list,Dataype x)
{
    printf("length %dn", list->length);
    if (MAXSIZE !=list->length)
    {
        list->data[list->length] = x;
        list->length++;
    }
}
// insert element into sqlist at index i
void Insert_sqlist(Sqlist *list,int i,Dataype x)
{
    int j;
    if (MAXSIZE == list->length)
    {
        printf("Sqlist fulln");
        exit(-1);
    }
    if (i <0 || i > list->length)
    {
        printf("insert index errorn");
        exit(-1);
    }
    for (j = list->length-1; j >= i-1; j--)
    {
        list->data[j+1] = list->data[j];
    }
    list->data[i-1] = x;
    list->length = list->length +1;
}
// delete element which index i
void Delete_sqlist(Sqlist *list,int i)
{
    int j;
    if (i<0 || i>list->length)
    {
        printf("Delete_sqlist index erron");
        exit(-1);
    }
    if (0==list->length)
    {
        printf("empty sqlistn");
        exit(-1);
    }
    for (j = i-1; j < list->length; ++j)
    {
        list->data[j] = list->data[j+1];
    }
}
// find element which x
int Locate_sqlist(Sqlist *list,Dataype x)
{
    int i;
    for (i = 0; i < list->length; ++i)
    {
        if (x == list->data[i])
        {
            return i;
        }
    }
    return -1;
}
//  print sqlist
void Print_sqlist(Sqlist *list)
{
    int i;
    if (0 != list->length)
    {
        for (i = 0; i < list->length; ++i)
        {
            printf("%d ", list->data[i]);
        }
        printf("n");
    }
    else
        printf("emptyn");
}

int main(int argc, char const *argv[])
{
    int  i;
    Sqlist *list;
    Init_sqlist(list);
    for (i = 0; i < 10; ++i)
    {
        Append_sqlist(list,i);
    }
    Insert_sqlist(list,5,10);
    Print_sqlist(list);
    return 0;
}

解决方案

 void Init_sqlist(Sqlist *list)
->
void Init_sqlist(Sqlist *&list)

解决方案二:

还有少了一个.h

 #include <stdlib.h>

结果

length 10
length 11
length 12
length 13
length 14
length 15
length 16
length 17
length 18
length 19
-842150451 -842150451 -842150451 -842150451 10 -842150451 -842150451 -842150451
-842150451 -842150451 -842150451 0 1 2 3 4 5 6 7 8 9
Press any key to continue . . .

解决方案三:

void Init__sqlist(Sqlist *&list),中 *&list = list 啊

时间: 2024-10-13 17:25:04

初始化失败-顺序链表初始化错误,表的长度无法初始化的相关文章

解决错误:应用程序池“AppPoolName”的模板永久性缓存初始化失败

错误:应用程序池"AppPoolName"的模板永久性缓存初始化失败,这是由以下原因所导致:无法创建应用程序池的磁盘缓存子目录.数据可能包含额外的错误代码... 在一次重启IIS服务的过程中,突然无法启动IIS服务,打开Internet 信息服务(IIS)管理器也不显示站点,在系统日志中看到错误: ===========================================  来源:Active Server Pages   事件 ID:5 错误:应用程序池"App

Win7系统应用程序初始化失败0xc0000135错误怎么办

  Win7系统大家在使用的时候,运行应用程序有可能会遇到失败无法运行的情况,最近就有用户一直在说这个问题,在启动win7应用程序初始化失败提示错误代码(0xc0000135)不知道怎么处理,其实这个可能是因为系统安装好,有一些软件运行的时候缺少导致运行出错就会出现这样的情况,小编马上给大家讲述解决方法. Win7系统应用程序初始化失败0xc0000135错误怎么办: 1.电脑系统应用程序正常初始化(0xc0000135)失败很多时候都是因为系统中没有安装.NET framework文件导致的.

WinXP应用程序正常初始化失败错误0xc0000142怎么办

  WinXP应用程序正常初始化失败错误代码0xc0000142的解决方法. 方法如下: 1.软件冲突,至少是两个或者两个以上的软件之间吧,卸载近期安装的软件,可以使冲突一方退避,解决软件冲突之后,"应用程序正常初始化失败"的问题也将迎刃而解. 2.病毒造成这样的问题,用户可以安装杀毒软件杀毒试试看,如果不能解决就直接重新安装系统,新系统就不存在这样的问题了,一般都是病毒破坏了系统文件造成的. 3.如果找不到原因,用户可以尝试开机按F8不动到高级选项出现再松手,选"最近一次的

Win7开机提示“交互式登录进程初始化失败”问题解决教程

错误界面如下"交互式登录进程初始化失败",无法进入桌面,如图: 1.我们现在把电脑关机,然后重启过程中不停的按F8 键,在出现命令窗口,我们点击"最后一次的正确配置" 2.如果上面办法没有效可以尝试进入到系统的安全模式中我们同样开机按f8,然后进入到上图界面使用"↓"键选择"安全模式"按"回车"两次进入安全模式,如果系统提示"配置 windows update 失败,还原更改,请勿关闭计算机&qu

Windows 7开机报错“登录进程初始化失败”怎么办

如下图所示在开机时还没有进入到系统会提示"交互式登录进程初始化失败"错误了,对于这个问题我们来看它的解决办法. 1.进入不了系统了我们现在重启电脑,然后进入到高级启动选项,在开始时我们按住F8,然后会进入到高级启动选项,我们使用光标上下移动到"最后一次的正确配置"选项,看可否正常进入系统,如图: 2.操作无效,开机时如上图操作出现启动菜单,用键盘"↓"键选择"安全模式"按"回车"两次进入安全模式,如果系统提

sql server 2000管理单元初始化失败的解决方法

使用SQL Server 2000数据库,在打开企业管理器时出现SQL Server管理单元初始化失败错误:窗口名是:MMC SQL Server管理单元初始化失败 名称:Microsoft SQL企业管器 CLSID{00100100-1816-11d0-8EF5-00AA0062C58F} 在网上找了半天多数SQL Server管理单元的解决方法都是要重装数据库,实在是太麻烦了,基本上没发现有实效的解决办法,最后通过自己的努力终于找到了一个快捷的SQL Server管理单元解决方法,将下面的

360安全卫士初始化失败及不能正常安装解决方法

360安全卫士是一款恶意软件清理工具,有了它能使我们的系统更加清爽,不再受流氓软件的恶意骚扰.诸如3721.网页恶意捆绑等都能使之瞬间消失.但是并不是有了它就能高枕无忧,毕竟现在网上的"手段"也在不断升级,这需要我们具有一定的防护意识,并且懂得哪些文件不能下载,不能浏览. 软件名称:卡巴斯基360 软件版本:个人豪华版 软件大小:23.7MB 软件分类:安全相关(网络安全) 软件语言:简体中文 应用平台:windows 2000/XP/2003/Vista 但是最近也有网友反应,正在使

快车应用程序正常初始化失败怎么办

快车应用程序正常初始化失败的解决方法如下: 如果程序出现"应用程序正常初始化失败"错误提示,请下载Microsoft Visual C++ 2005 Redistributable Package (x86).

应用程序正常初始化失败的解决方法

应用程序正常初始化(0xc00000ba)失败的症状:无法正常启动杀毒软件.防火墙.QQ聊天软件等: 导致应用程序正常初始化失败的原因分析: 出现(0xc00000ba)的错误代码表示系统无法正常调用ws2_32.dll动态连接库文件导致的,ws2_32.dll是 Windows Sockets应用程序接口,它向系统提供网络应用程序的接口支持,某些病毒木马为了达到禁止杀毒软件和防火墙启动的目的,在杀软目录或System32 目录下创建一个假的傀儡ws2_32.dll,该文件与正常文件名一模一样,