顺序表的初始化

顺序表的初始化,第1张

仔细看哦,这个东东花了鄙人不少时间
#include<stdioh>
#define MAXSIZE 100
typedef struct
{
int data[MAXSIZE];
int len;
}SqList;
// 初始化线性表运算
void InitList(SqList sq)
{
(sq)len=0;
}
// 求线性表长度运算
int GetLength(SqList sq)
{
return sqlen;
}
// 求线性表中的第i个元素的运算
int GetElem(SqList sq,int i)
{
if(i<1||i>sqlen)
return 0;
else return sqdata[i-1];
}
// 按值查找运算
int Locate(SqList sq,int x)
{
int i=0;
while (sqdata[i]!=x) i++;
if(i>sqlen) return 0;
else return i+1;
}
// 插入元素运算
int InsElem(SqList sq,int x,int i)
{
int j;
if(i<1||i>(sq)len+1)
return 0;
for(j=(sq)len;j>i-1;j--)
(sq)data[j]=(sq)data[j-1];
(sq)data[i-1]=x;
(sq)len++;
return 1;
}
// 删除元素运算
int DelElem(SqList sq,int i)
{
int j;
if(i<1||i>(sq)len)
return 0;
for(j=i;j<(sq)len;j++)
(sq)data[j-1]=(sq)data[j];
(sq)len--;
return 1;
}
//输出元素值运算
void DispList(SqList sq)
{
int i;
for(i=0;i<sqlen;i++)
printf("%d ",sqdata[i]);
printf("\n");
}
int main()
{
SqList list,p;
SqList list2={{1,2,3,4},4};
DispList(list2);
p=&list;
InitList(p);
listdata[0]=12;
listdata[1]=9;
listdata[2]=23;
listdata[3]=45;
listdata[4]=56;
listdata[5]=8;
listlen=6;
printf("%d\n",InsElem(p,5,1));
printf("%d\n",InsElem(p,453,5));
DispList(list);
printf("%d",DelElem(p,5));
DispList(list);
printf("%d\n",Locate(list,9));
printf("%d\n",GetElem(list,10));
printf("%d\n",GetLength(list));
return 0;
}

SeqList Init_SeqList(){//函数返回初始化后的顺序表结构指针,没有传入参数
SeqList L;//定义顺序表结构指针
L=(SeqList )malloc(sizeof(SeqList));//申请头顺序表,为它在堆中分配内存
L->last = -1;//last指向顺序表中最后一个元素的位置,从0开始;这里-1表示顺序表当前没有内容
return L;//返回顺序表结构指针
}
Main(){
SeqList L;//定义顺序表结构指针,用来保存顺序表结构
L=Init_SeqList();//调用函数得到顺序表指针
……
}

class A{
    private:
        int a[10];
    public:
        A(int n):a{n}{
        }
}

注:数组可以用大括号初始化,且不会出warning。如:

class A{
    private:
        int a[100];
    public:
        A(int a0,int a1,int a2):a{a0,a1,a2}{
        }
}

插入 *** 作的时间复杂度是O(n)

删除 *** 作的时间复杂度是O(n)

Pi(n-i+1)指的是插入i元素以后,需要移动的元素的个数,在第一个元素后面插入元素i需要移动n个元素,在第二个元素后面插入元素i需要移动元素(n-1)个元素;

依此论推,在第n个元素后面插入元素i需要移动1个元素,这是一个等差数列,首项为n,公差为1,最后一项是1,求和以后需要除以(n+1)就算出来结果了。

扩展资料:

一般情况下,算法中基本 *** 作重复执行的次数是问题规模n的某个函数,用T(n)表示,若有某个辅助函数f(n),使得当n趋近于无穷大时,T(n)/f (n)的极限值为不等于零的常数,则称f(n)是T(n)的同数量级函数。记作T(n)=O(f(n)),称O(f(n)) 为算法的渐进时间复杂度,简称时间复杂度。

在各种不同算法中,若算法中语句执行次数为一个常数,则时间复杂度为O(1),另外,在时间频度不相同时,时间复杂度有可能相同,如T(n)=n2+3n+4与T(n)=4n2+2n+1它们的频度不同,但时间复杂度相同,都为O(n2)。

参考资料来源:百度百科-时间复杂性

会。
在计算机桌面上的Excel2016工作簿程序图标双击鼠标左键,将其打开运行。并点击“空白文档”选项,新建一个空白Excel表格。点击左上角的“文件”命令选项,点击“选项”,在打开的“Excel选项”对话窗口中,将选项卡切换到“自定义功能区”选项卡栏,找到“自定义”选项,并点击自定义“重置”的下拉按钮,在d出的选项中点击“仅重置快速访问工具栏”选项即可。
对于控件的初始化,我们一般在UserForm的init事件中进行。初始化控件时,可对控件的属性进行赋值。

数据结构 如果只建立线性表 那是不能使表保持顺序的 只有链表才能 所以我用了链表
还有就是自己多看看书 自己多想想代码
#include <stdioh>
#include <stdlibh>
typedef int elemtype;
typedef struct xianxing
{
struct xianxing next;
elemtype number;
}ST;
ST Init_SequenList()//实现初始化一个线性表的函数
{
ST L;
L = (ST )malloc(sizeof(ST));
L->next = NULL;
return L;
}
ST add_head(ST head)//实现往链表内添加数字函数 按照升顺序的
{
ST q ,p;
p = head;
q = (ST )malloc(sizeof(ST));
printf("请输入你要添加的数:");
scanf("%d",&q->number);
if(p->next == NULL)
{
q->next = p->next;
p->next = q;
}
else
{
while(p->next->number < q->number)//比较大小 找到插入的位置
{
p = p->next;
}
q->next = p->next;
p->next = q;
}
return head;
}
void show_head(ST head)//显示链表
{
ST p;
p = head;
while(p->next)
{
printf("%d\n",p->next->number);
p = p->next;
}
}
void main()
{
ST head;
int n ;//n个元素
printf("请输入你要创建几个元素:");
scanf("%d",&n);
head = Init_SequenList();//初始化一个线性表
while(n)
{
head = add_head(head);//往线性表里添加数
n--;
}
show_head(head);//显示链表
}

一、 系统初始化
在系统初始化部分主要有以下五个方面:
1.新建帐套 2.帐套选项 3基础资料 4初始数据录入 5启用帐套
(一)新建帐套:会计科目结构-会计期期间(选择自然月份)-帐套启用期间(注意年中和年初建帐的区别。
打开金蝶软件点击“新建”按钮,开始新建帐套的建立,先选好帐套文件存放路径,并在文件名处输入公司简称。
点击“打开”按钮,系统打开建帐向导窗口按要求输入公司全称。
点击“下一步”按钮,设置贵公司所属行业。
点击“下一步”按钮,按要求设置会计科目结构
按要求设置会计期间界定方式
系统提示帐套建立所需的资料已经完成-点击“完成“
进入初始化设置
用户管理设置:打开“工具”菜单-选中“用户管理”点击用户设置的新增按钮会d出“新增用户”窗口。
用户名:一般使用会计人员的真实姓名
安全码:识别用户身份的密码,当KIS重新安装后,需要增加 *** 作员或系统管理员。
以前 *** 作用户已经授权过一次,此时只需要增加 *** 作员时保证安全码与上次输入一致,则不需要重新授权。
用户授权:选中需授权的用户,点击“授权”按钮d出“权限管理”对话框,可以给用户设置所需要的权限。
(二)帐套选项
单击初始化设置界面上的“帐套选项”-在“凭证”里把凭证字改为“记”字,结算方式可以按自己的要求设定,在“帐套选项”里的选项左边时1-4,右边是1和3,在帐套高级选项中的固定资产里增加固定资产减值准备科目,并在固定资产折旧时将减值准备的值计算在内划上对号。
(三)基础资料
会计科目:在主窗口选择“会计科目”-设置会计科目
功能:设置企业会计科目
不同会计科目设置时,注意的要点各不相同,以下分为四种情况细述会计
科目的设置:
1. 一般会计科目的新增设置
2. 涉及外币业务核算的会计科目设置
3. 挂核算项目的会计科目设置
4. 数量金额式会计科目的设置
会计科目的增加:
点击“新增”按钮
一般会计科目的新增:上级科目代码与下级科目代码之间是根据科目结构设置的,位数来区分的,不需要加任何分隔符号,各级之间的下级科目名称不需要连带上级科目的名称。
科目助记码就为方便凭证录入所设,非必输项目。
涉及外币业务核算的会计科目设置的新增:如需期末调整汇率,则必须在“期末调汇”处打勾。
挂核算项目的会计科目的设置:在 会计科目中挂核算项目刻起到批量新增方式添加明细科目的效果,在会计科目下可挂多个核算项目,这些核算项目之间是平行并列关系,核算项目下不能再挂核算项目,会计科目如已挂核算项目,则不能再下设明细科目。
数量金额式会计科目的设置:将科目设置为“数量金额。
币别
再主窗口选择“币别”,单击“增加”
KIS同时支持固定汇率和浮动元两种处理:
固定汇率下,当发生外币业务发生时只能已起初汇率记帐
浮动汇率下则可在外币业务发生时以当时的市场利率记帐
核算项目
核算项目是KIS系统设置的一些特殊的项目资料,系统提供了往来单位、部门 、职员三个组别,运用非常的广泛。核算项目是KIS系统各种单据的内容之以一
为系统的各项 *** 作提供了基础资料的查询和获取。
核算项目的增加:在主窗口选择增加。
初始数据录入
在主窗口单击“初始数据”按钮
A白色记录是表示明细科目,可以直接录入
B记录是非明细科目,不可以直接录入数据,数据由下级科目汇总生成
C绿色记录是固定资产相关科目,双击进入数据录入窗口
D余额列的率速单元格表明该科目设置了往来业务核算,要求双击录入往来数据
在初始录入是要注意:A一般科目余额:直接录入
B外币科目的余额:注意切换录入币别
C核算项目的科目余额:直接录入
D数量金额辅助核算的科目:录入数量
E固定资产期初余额录入:以卡片形式录入明细
F往来业务核算:录入往来业务明细
录入固定资产初始数据:在录入窗口左上方的下拉框中选择固定资产科目
进入固定资产数据显示窗口.系统以列表形式显示固
定资产项目,每项固定资产以一条记录显示在屏幕.
初次进入时,此窗口为空白,可以单击”增加”按钮
系统会d出固定资产增加窗口,增加固定资产资料了,
固定资产卡片包括三方面内容:基本入帐信息、折旧信
息、本年变动数据。
在期初录入的时候一般只录入基本入帐信息和折旧信息就可以,本年变动数据不用管了。
录入始数据时,点击左上角“人民币”菜单,点试算平衡表
启用帐套
在主窗口单击“启用帐套”,把初始化备份到某个盘上
二、会计之家界面(也就是日常处理)
在日常处理部分主要是以下几个方面
1.凭证处理 2帐簿查询 3报表 4工资核算 5固定资产 6财务分析7出纳处理 8往来处理 9期末处理
凭证录入
点击主窗口中的“凭证”,单击“凭证”录入
凭证录入
A一般的业务凭证 B涉及往来业务的凭证
C涉及核算项目的凭证
在凭证录入窗口中单击“凭证录入”按钮,在这个窗口中就可以录入凭证了,首先把光标点到“摘要”输入摘要(例如:提现)再把光标点到会计科目,输入科目代码(或者按右上角获取键和F7都可以选择会计科目,不用手工输入),然后再把光标点到借方金额输入数,再把光标点到下一个摘要输入(也可以用双“/”和第一个摘要相同,再把光标点到会计科目获取科目,再把光标点到贷方输入金额,(也可以按CTRL+F7让借贷方自动配平),最后保存这张凭证。会自动d出一张新的凭证,再输入下一张凭证。
在输入一半的凭证想不要了,可以按“复原”键,复原键也等于 删除键。删除这张凭证。
在凭证录入的时候像“利息收入”的凭证要都做在借方,把贷方的数用红字在借方体现(先在借方输入数在按一下负号就可以了)。
在凭证录入的时候想计算数可以按“F11”。
想打印凭证时到“凭证查询”里点左上角的点“凭证”键预览,然后点打印,
想调整距离在“凭证”键里的打印设置来设定。
凭证审核
在审核之前要先在有下角点用户名更换成审核人的名字来进行审核。
用鼠标点击主窗口中的凭证审核,系统会d出菜单,选择其中的单张或成批审核,即进入凭证审核的状态,系统进入记帐凭证窗口,在此窗口可以进行凭证审核。此窗口的项目不能修改,只能查看,查看完毕后可以对凭证审核并签章。
凭证反审核
在凭证审核后要修改这张凭证,首先要更换成审核人的名字,再点“凭证审核”点成批审核或单张审核,确定以后选中一张凭证点一下“审核”让这张凭证回到没审核之前,关闭以后更换成制单人的名字到“凭证查询”里修改或者删除这张凭证。
凭证过帐
在凭证处理窗口中单击“凭证过帐”按钮,按提示步骤过帐。
凭证查询
在凭证处理窗口中单击“凭证查询”按钮,系统d出“凭证过滤”窗口,选择过滤条件后按“确定”,系统进入“会计分录序时簿”窗口。
修改已过帐凭证
1. 红字冲销或补充登记
2. 反过帐(CTRL+F11)再修改凭证
冲销:在“序时簿”窗口,将光标定位于要修改的凭证中,在文件菜单中选择“冲销”系统会自动生成冲销凭证,保存此凭证。
凭证汇总
在凭证处理窗口中单击“凭证汇总”按钮,自动汇总。
总帐查询
在帐簿窗口中单击“总分类帐”按钮,按条件查询
明细帐查询
在帐簿窗口中单击“明细分类帐”按钮,按条件查询
多栏帐查询
在帐簿窗口中单击“多栏帐”按钮,增加多栏帐科目,在“多栏帐”窗口点击“新增”按钮,再点击自动编排,确定,就生成多栏帐格式。
数量金额帐
在帐簿窗口中单击“数量金额帐”按钮,按条件查询
工资核算
工资公式设置-工资项目
步骤:单击工资窗口“核算方法”按钮
步骤:单击“新增”按钮,增加“职员代码”等,有代表文字和数值的,按条件选择。
工资公式设置-工资公式
步骤:软件有给的条件来设定。
工资公式:在工资窗口中,单击“数据输入”按钮,按条件设定
费用分配
在工资窗口中单击“费用分配”,自动生成凭证,把这张凭证过帐。
工资报表
在工资处理窗口中单击“报表输出”按钮,可以查看所有的工资报表
固定资产
固定资产增加:在固定资产处理窗口,单击”变动资料录入”按钮,进入变动资料录入界面,点击”增加按钮,录入新增的固定资产资料。
固定资产的增加和初始化大多相同,就是比初始化多了一个折旧与减值
准备信息2,按提示就可以输入。
减少:和增加的方式大致相同,就在减少方式的地方选择就可以了。
其他:要修改固定资产到“其他”里有变动资料,可以修改各项。
计提折旧
在固定资产处理窗口中,单击“计提折旧”按钮,自动生成折旧凭证。
报表输出
在固定资产处理窗口中,单击“报表输出”按钮,查看所以报表
财务分析
是自动生成的财务分析,双击进入可直接查看。
出纳
出纳管理是KIS用于出纳理财的辅助管理系统。
定义初始期间:在主窗口中单击“维护”-“帐套选项”中设置期间。
现金余额
在会计之家界面单击“出纳”模块,“初始设置”并选择“现金余额录入”选
项,录入余额。
银行余额
在会计之家界面单击“出纳”模块,“初始设置”并选择“银行余额录入”选
项,录入余额。
现金盘点与对帐
在日常处理里点击“现金盘点与对帐”

la重定义了,一开始你是定义的一个SqList类型的指针,后来又将他定义成一个整形数据类型了,而且你的x也没有初始化
主函数里面你试着这样写:
void main()
{
int i,x;
sqList la=(sqList )malloc(sizeof(sqList));
la->length=10;
printf("2009;00920130\n");
scanf ("%d",&i);
ListInsert(la,i,x);
}
里面的x你也要设定一个值,就给你自己完成


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/13395033.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-28
下一篇 2023-07-28

发表评论

登录后才能评论

评论列表(0条)

保存