- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
链表的创建插入修改删除及队列的使用.
程序开发环境
判断栈空
贴图:程序运行时的主界面截图(JPG图片格式)。
结合流程图和主界面,逐个说明各个功能模块,如下:
1.链表操作
该模块会自动产生链表中data中的数据,并在产生之前询问要产生的个数。产生之后可手动输入一个数程序会自动查找该数是否包含在随机产生的数当中若包含则返回该数所在的位置和包含该数的个数,然后询问用户是否要删除所查找出来的这些数,若选择删除则删除这些数后再输出删除后的链表。
void main()
{
NODE *head,*a,*p,*q,*j;
int n;
head=new node;
a=head;
head-next=NULL;
cout请输入要产生的链表元素个数:;
cinn;
double x;
srand(time(0)); //随机产生链表
x=rand()%100;
for(int i=0;in;i++)
{
p=new node;
p-data=x;
p-next=a-next;
a-next=p;
a=p;
unsigned srand(time(0));
x=rand()%100;
}
cout随机产生的数据为:;
q=head-next; //输出随机产生的链表
while(q!=NULL)
{
coutq-data ;
q=q-next;
}
coutendl;
int m,k=0,num=0; //查找m这个数是否在这个链表中并且出现了几次
cout请输入您要查找的数:;
cinm;
//查找用户输入的数是否在随机产生的链表里
j=head-next;
while(j!=NULL)
{
k++;
if(j-data==m)
{
cout找到j-data是第k个endl;
num++;
}
j=j-next;
}
cout共找到num个endl;
if(0==num)
{
cout查无此数!endl;
cout没有数要删除!endl;
}
//询问用户是否进行删除操作
else
{
cout是否删除这些数y?;
char ch,ch1=Y,ch2=y;
cinch;
if(ch1==ch||ch2==ch)
{
do
{
a=head;
q=head-next;
while((q!=NULL)(q-data!=m))
{
a=q;
q=q-next;
}
if(q==NULL)
cout已删除完毕!endl;
else
{
a-next=q-next;
delete (q);
}
}while(q!=NULL);
//删除后输出删除后的数组
cout删除这些数后的链表为:;
q=head-next;
while(q!=NULL)
{
coutq-data ;
q=q-next;
}
coutendl;
}
else
cout你选择了不删除这些数!endl;
}
}
2.用栈进行二进制转换
该模块要求用户输入一个正整数然后程序会用栈来存储所得到的二进制,然后在出栈输出十进制对应的二进制。
typedef struct linkstack
{
int data;
linkstack *next;
}Linkstack;
Linkstack *inistack(linkstack *top) //栈的初始化
{
top=new linkstack;
top-next=NULL;
return top;
}
Linkstack *push(linkstack *top,int x) //进栈
{
linkstack *s=new linkstack;
s-data=x;
s-next=top-next;
top-next=s;
return top;
}
Linkstack *quit(linkstack *top) //退栈
{
linkstack *s=top-next;
if(s!=NULL)
{
top-next=s-next;
delete s;
}
return top;
}
int gett
您可能关注的文档
- 金融工程VE竞赛模拟实验报告..doc
- 金融工程讲义第三讲投资组合(portfolio)理论基础..doc
- 金融市场学期末复习资料..doc
- 金融市场试题答案..doc
- 金蝶ERP实验室装修方案..doc
- 金融理论前沿课题第三章教学辅导..doc
- 金融理论前沿课题课程期末复习答疑..doc
- 金融统计分析实施方案..doc
- 金融英语复习..doc
- 金衢十二校九年级适应性试卷(一)..doc
- 2024-2025学年安徽省亳州市涡阳县高二下学期2月开学考试政治试题(解析版).docx
- 2024-2025学年江西省赣州市上犹县高二下学期开学考试政治试题(解析版).docx
- 2024-2025学年山东省济宁市高二下学期开学考试政治试题(解析版).docx
- 2024-2025学年山西省卓越联盟高三下学期2月开学质量检测政治试题(解析版).docx
- 2024-2025学年新疆乌鲁木齐市高二下学期2月开学考试政治试题(解析版).docx
- 2024-2025学年新疆维吾尔自治区乌鲁木齐地区高三2月大联考文科综合政治试题(解析版).docx
- 2024-2025学年安徽省蚌埠市固镇县高一上学期1月期末考试政治试题 (解析版).docx
- 2024-2025学年江苏省扬州市高三上学期期末检测政治试卷(解析版).docx
- 2024-2025学年江西省吉安市高三上学期期末教学质量检测政治试题(解析版).docx
- 2024-2025学年山东省济宁市高二上学期1月期末考试政治试题(解析版).docx
文档评论(0)