avatar
文章
23
标签
8
分类
0
首页
音乐
照片
友链
说说
关于
LogoLucky数据结构:顺序表(c语言)
搜索
首页
音乐
照片
友链
说说
关于

数据结构:顺序表(c语言)

发表于2019-10-26|更新于2025-03-03
|总字数:1.3k|阅读时长:6分钟

由于C语言对与语句缩进要求不严格,所以说缩进不标准。

如有疑问可以在评论区留言,共同交流。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
#define maxsize 100
#define OK 1
#define ERROR 0
typedef int elemtype;
#include<stdio.h>

//创建结构体
typedef struct
{
elemtype *elem;
int length;
}sqlist;

//创建新线性表
int intlist(sqlist &L)
{
L.elem = new elemtype[maxsize];
if (!L.elem)
return ERROR;
L.length=0;
return OK;
}

//插入元素
int listinsert(sqlist &L,int i,elemtype e)
{
if((i<1)||(i>L.length+1))
return ERROR;
if(L.length==maxsize)
return ERROR;
for(int j=L.length-1;j>=i-1;j--)
L.elem[j+1]=L.elem[j];
L.elem[i-1]=e;
++L.length;
printf("插入结束\n");
return OK;
}

//la,lb,lc插入
int listinsert1(sqlist &L,int i,elemtype e)
{
if((i<1)||(i>L.length+1))
return ERROR;
if(L.length==maxsize)
return ERROR;
for(int j=L.length-1;j>=i-1;j--)
L.elem[j+1]=L.elem[j];
L.elem[i-1]=e;
++L.length;
return OK;
}

//取值
int getrlme(sqlist &L,int i,elemtype &e)
{ if(i<1||i>L.length)
return ERROR;
e=L.elem[i-1];
printf("取值成功\n");
return OK;
}

//查找
int locatelem(sqlist L,elemtype e)
{
for(int i=0;i<L.length;i++)
if(L.elem[i]==e) return i+1;
return 0;
}

//删除
int listdelete(sqlist &L,int i,elemtype &e)
{ if(i<1||i>L.length)
{printf("删除错误");
return ERROR;}
e=L.elem[i-1];
for(int j=i;j<=L.length-1;j++)
L.elem[j-1]=L.elem[j];
--L.length;
return OK;
}

//显示顺序表
int appear(sqlist L)
{
for(int i=0;i<L.length;i++)
{printf("%d",L.elem[i]);
printf(" ");}
printf("\n显示结束\n");
return OK;
}

//创建la,lb,合成lc
void MergeList(sqlist la, sqlist lb, sqlist &lc)
{ printf("la表内的值为:");
appear(la);
printf("lb表内的值为:");
appear(lb);
for(int ii=0;ii<la.length;ii++)
{listinsert1(lc,ii+1,la.elem[ii]);}
for(int i=0;i<lb.length;i++)
{int why=locatelem(lc,lb.elem[i]);
if(why==0)
listinsert1(lc,lc.length+1,lb.elem[i]);}
printf("lc表内的值为:");
appear(lc);
}

//lc内就地换位
void inverse(sqlist &lc)
{ printf("原来的lc为");
appear(lc);
int swidth=lc.length/2,h,l=lc.length;
for(int zhou=0;zhou<swidth;zhou++)
{h=lc.elem[zhou];
lc.elem[zhou]=lc.elem[l-1];
lc.elem[l-1]=h;
l--;}
printf("逆置后的lc为");
}

int main()
{
int i,j,k,l,w,hhh=1;
int lawidth,lbwidth;
int laa[30],lbb[30];
elemtype e,f,g;
sqlist Q;
sqlist la,lb,lc;
intlist (Q);
intlist (la);
intlist (lb);
intlist (lc);
sqlist law;
intlist(law);

//快速创建一个顺序表
printf("请输入顺序表新建顺序表长度:");
scanf("%d",&law.length);
printf("请输入该顺序表的值:");
hhh=hhh+law.length;
for(i=0;i<law.length;i++)
{
scanf("%d",&law.elem[i]);
}
for(int kk=0;kk<law.length;kk++)
{
listinsert1(Q,kk+1,law.elem[kk]);
}
printf("\n");

printf("说明:0为退出\n1为插入元素\n2为取值\n3为查找\n4为删除\n5为显示顺序表\n6为建立la,lb并且合并为lc\n7为就地逆置lc\n");
do{
printf("\n请输入你的操作数字\n");
scanf("%d",&w);
if (w==1)
{printf("\n请输入你想插入的位置(1~%d)\n",hhh);
scanf("%d",&i);
while(i>hhh||i<1)
{
printf("超范围了,请重新输入操作数字\n");
printf("\n请输入你想插入的位置(1~%d)\n",hhh);
scanf("%d",&i);
}
++hhh;
printf("请输入你想插入元素的值\n");
scanf("%d",&e);
listinsert(Q,i,e);
appear(Q);
printf("\n");}
else if(w==2)
{printf("\n请输入你想取值的元素位置(1~%d)\n",(hhh-1));
scanf("%d",&j);
if(j>hhh-1) {printf("超范围了,请重新输入操作数字\n");continue;}
getrlme(Q,j,f);
printf("该元素为%d\n",f);
printf("\n");}
else if(w==3)
{printf("\n请输入查找元素的值\n");
scanf("%d",&k);
int lc=locatelem(Q,k);
if(lc)
printf("元素的位置为%d\n",lc);
else
printf("该元素不存在");
printf("\n");}
else if(w==4)
{printf("\n请输入要删除元素的位置(1~%d)\n",hhh-1);
scanf("%d",&l);
if(l>hhh-1) {printf("超范围了,请重新输入操作数字\n");continue;}
listdelete(Q,l,g);
printf("删除成功,删除的元素为%d\n",g);
hhh--;
printf("\n");}
else if(w==5)
{printf("\n显示顺序表\n");
appear(Q);}
else if(w==6)
{printf("请输入la的数据长度(1~30):\n");
scanf("%d",&lawidth);
printf("请输入la内的数据:");
for(int cun=0;cun<lawidth;cun++)
{scanf("%d",&laa[cun]);}
for(int ruler=0;ruler<lawidth;ruler++)
{listinsert1(la,ruler+1,laa[ruler]);}
printf("请输入lb的数据长度(1~30):\n");
scanf("%d",&lawidth);
printf("请输入lb内的数据:");
for(int cun1=0;cun1<lawidth;cun1++)
{scanf("%d",&lbb[cun1]);}
for(int ruler1=0;ruler1<lawidth;ruler1++)
{listinsert1(lb,ruler1+1,lbb[ruler1]);}
MergeList(la,lb,lc);
}
else if(w==7)
{inverse(lc);
appear(lc);}
else
break;
}while(w);
printf("谢谢使用\n");
}
文章作者: 刘同学
文章链接: https://mouhorse.github.io/2019-10-26/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84-%E9%A1%BA%E5%BA%8F%E8%A1%A8-c%E8%AF%AD%E8%A8%80/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Lucky!
数据结构
赞助
  • wechat
    wechat
  • alipay
    alipay
cover of previous post
上一篇
logistic回归
总结一小下1.logistic回归为二分类问题,所以说y值只有1和0。 2.sigmod函数方程式:g (θ) = $\frac{1}{1+e^-θTx }$ 1234f = np.matmul(x, weights.T) # f为直线,所以说当f>0时,g(θ)为1,反之为0。g(θ)=1, np.add(1, np.exp(-f)) 3.代价函数:J = - $\frac{1}{m}$$\sum_{i=1}^m$ (y log [g(θ)] )+(1-y) (log[1-g(θ)])代码表示: 12345loss_1 = -np.matmul(y.T, np.log(h))loss_0 = -np.matmul(np.add(1, -y).T, np.log(np.add(1, -h)))J= np.divide( loss_0+ loss_1 ,m) 4.梯度下降:θ(j)-= α{$\frac{1}{m}$ $\sum_{i=1}^m$(g(θ)...
cover of next post
下一篇
数据结构:链表(C语言)
...
相关推荐
cover
2019-12-12
数据结构:图(C语言)
...
cover
2019-10-29
数据结构:链表(C语言)
...
cover
2019-11-25
数据结构:块链(C语言)
...
avatar
刘同学
欢迎光临我的博客
文章
23
标签
8
分类
0
Follow Me
公告
欢迎来到我的博客!
可以交换友链
联系方式:485182274@qq.com
目录
  1. 1. 由于C语言对与语句缩进要求不严格,所以说缩进不标准。
  • 如有疑问可以在评论区留言,共同交流。
  • 最新文章
    Hexo本地与云端布局不同处理办法
    Hexo本地与云端布局不同处理办法2025-02-25
    解决 Hexo 部署到 GitHub Pages 自定义域名失效
    解决 Hexo 部署到 GitHub Pages 自定义域名失效2025-02-24
    Butterfly 个性化配置教程
    Butterfly 个性化配置教程2025-02-23
    Hexo安装并修改主题
    Hexo安装并修改主题2025-02-23
    MNE脑电预处理
    MNE脑电预处理2024-10-07
    ©2018 - 2025 By 刘同学
    框架 Hexo 7.3.0|主题 Butterfly 5.3.3
    活出个样子给自己看
    搜索
    数据加载中