第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

想要實(shí)現(xiàn)用單鏈表表示一個集合,元素類型為int且以遞增方式儲存的內(nèi)容?該怎么做?

想要實(shí)現(xiàn)用單鏈表表示一個集合,元素類型為int且以遞增方式儲存的內(nèi)容?該怎么做?

忽然笑 2022-05-08 08:04:09
c語言題目,用單鏈表表示一個集合,元素類型為int且以遞增方式儲存,用函數(shù)in_set測試集合中是否存在元素0,若存在則結(jié)果輸出0,反之輸出1單鏈其頭結(jié)點(diǎn)分別為a,b
查看完整描述

3 回答

?
梵蒂岡之花

TA貢獻(xiàn)1900條經(jīng)驗 獲得超5個贊

#include
<stdio.h>
#include
<stdlib.h>
#include
<time.h>
#define
ELEMTYPE
int
typedef
struct
set
{
ELEMTYPE
m;
struct
set
*next;
}*NODE;
NODE
InitSet()
{
NODE
head
=
(NODE)malloc(sizeof(set));
head->next
=
NULL;
return
head;
}
bool
Insert(NODE
head,
ELEMTYPE
e)
{
//
創(chuàng)建增序鏈表
NODE
p,q;
p
=
head;
q
=
(NODE)malloc(sizeof(set));
if(q
==
NULL)
return
false;
q->m
=
e;
if(p->next
==
NULL)
{
//
直接插在頭結(jié)點(diǎn)后
q->next
=
NULL;
p->next
=
q;
return
true;
}
while(p->next
!=
NULL)
{
if(p->next->m
==
e)
return
false;
if(p->next->m
>
e)
{
q->next
=
p->next;
p->next
=
q;
return
true;
}
p
=
p->next;
}
if(p->next
==
NULL)
{
//
插在鏈表尾部
p->next
=
q;
q->next
=
NULL;
}
return
true;
}
void
ShowSet(NODE
head)
{
NODE
p
=
head->next;
for(;p
!=
NULL;p
=
p->next)
printf("%d
",p->m);
printf("\n");
}
bool
InSet(NODE
head,
ELEMTYPE
e)
{
NODE
p
=
head->next;
for(;p;p
=
p->next)
if(p->m
==
e)
return
true;
return
false;
}
bool
IsEmpty(NODE
head)
{
return
(head->next
==
NULL);
}
int
SetLength(NODE
head)
{
int
n
=
0;
NODE
p
=
head->next;
for(;p;p
=
p->next)
++n;
return
n;
}
int
main()
{
NODE
set
=
InitSet();
int
i,n;
srand(time(NULL));
n
=
rand()%100
+
1;
for(i
=
0;
i
<
30;
++i)
Insert(set,rand()%60
+
1);
ShowSet(set);
printf("該集合共有%d個人元素。\n",SetLength(set));
if(InSet(set,n))
printf("%d在集合中。\n",n);
else
printf("%d不在集合中。\n",n);
return
0;
}



查看完整回答
反對 回復(fù) 2022-05-10
?
慕尼黑的夜晚無繁華

TA貢獻(xiàn)1864條經(jīng)驗 獲得超6個贊

#include<stdio.h>
#include<malloc.h>
typedef
struct
Node
{
int
data;//數(shù)據(jù)域
struct
Node
*next;//指針域
}Node,*LinkList;
int
in_set(LinkList
*L,int
n);
int
main()
{
LinkList
L;
int
i=1;
L=(LinkList)malloc(sizeof(Node));
printf("請輸入集合整型元素(用空格隔開):\n");
do
{
scanf("%d",&L->data
);
L=(LinkList)realloc(L,sizeof(Node)*++i);
}while(getchar()!='\n');
if(in_set(&L,i))
printf("集合中存在0元素\n");
else
printf("集合中不存在0元素\n");
}
int
in_set(LinkList
*L,int
n)
{
int
i;
for(i=0;i<n;i++)
if((*L)->data==0)//如果存在0元素,返回1
return
1;
return
0;//如果這條語句能夠執(zhí)行,說明不存在0元素
}
//程序我已經(jīng)調(diào)試好了。集合元素你自己輸入,想輸入多少就輸入多少,只要你的內(nèi)存夠大。輸入以回車鍵結(jié)束。



查看完整回答
反對 回復(fù) 2022-05-10
?
慕慕森

TA貢獻(xiàn)1856條經(jīng)驗 獲得超17個贊

#include
#include
#include
#define
ELEMTYPE
int
typedef
struct
set
{
ELEMTYPE
m;
struct
set
*next;
}*NODE;
NODE
InitSet()
{
NODE
head
=
(NODE)malloc(sizeof(set));
head->next
=
NULL;
return
head;
}
bool
Insert(NODE
head,
ELEMTYPE
e)
{
//
創(chuàng)建增序鏈表
NODE
p,q;
p
=
head;
q
=
(NODE)malloc(sizeof(set));
if(q
==
NULL)
return
false;
q->m
=
e;
if(p->next
==
NULL)
{
//
直接插在頭結(jié)點(diǎn)后
q->next
=
NULL;
p->next
=
q;
return
true;
}
while(p->next
!=
NULL)
{
if(p->next->m
==
e)
return
false;
if(p->next->m
>
e)
{
q->next
=
p->next;
p->next
=
q;
return
true;
}
p
=
p->next;
}
if(p->next
==
NULL)
{
//
插在鏈表尾部
p->next
=
q;
q->next
=
NULL;
}
return
true;
}
void
ShowSet(NODE
head)
{
NODE
p
=
head->next;
for(;p
!=
NULL;p
=
p->next)
printf("%d
",p->m);
printf("\n");
}
bool
InSet(NODE
head,
ELEMTYPE
e)
{
NODE
p
=
head->next;
for(;p;p
=
p->next)
if(p->m
==
e)
return
true;
return
false;
}
bool
IsEmpty(NODE
head)
{
return
(head->next
==
NULL);
}
int
SetLength(NODE
head)
{
int
n
=
0;
NODE
p
=
head->next;
for(;p;p
=
p->next)
++n;
return
n;
}
int
main()
{
NODE
set
=
InitSet();
int
i,n;
srand(time(NULL));
n
=
rand()%100
+
1;
for(i
=
0;
i
<
30;
++i)
Insert(set,rand()%60
+
1);
ShowSet(set);
printf("該集合共有%d個人元素



查看完整回答
反對 回復(fù) 2022-05-10
  • 3 回答
  • 0 關(guān)注
  • 193 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號