博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
结对开发Ⅴ——循环一维数组求和最大的子数组
阅读量:5855 次
发布时间:2019-06-19

本文共 1898 字,大约阅读时间需要 6 分钟。

一、设计思路

(1)数据的存储结构是链表,最后一个结点的next指向第一个元素的结点;

(2)数据个数为n,则最多有n*(n+(n-1)+...+1)种情况(包括重复);

(3)剩下的部分与二维数组的差不多。

二、源代码

1 // 一维数组.cpp : Defines the entry point for the console application. 2 // 袁佩佩 于海洋 3  4 #include "stdafx.h" 5 #include
6 #define num 5 7 /*链表数据结构*/ 8 typedef struct LNode 9 {10 int data;11 struct LNode *next;12 }LNode,*LinkList;13 /*链表的初始化*/14 void InitList(LinkList &L)15 {16 L=new LNode;17 L->next=NULL;18 }19 /*链表数据的插入*/20 void InsertList(LinkList &L)//建立循环链表21 {22 LNode *head,*temp;23 head=L;24 cout<<"请输入"<
<<"个数字:";25 for(int i=0;i
>temp->data;29 temp->next=NULL;30 head->next=temp;31 head=head->next;32 }33 head->next=L->next; //首尾相连,建立循环链表34 }35 void output(LinkList L)36 {37 for(int i=0;i
next->data<<" ";40 L=L->next;41 }42 }43 int main( )44 {45 int max,sum,flag=0; //sum是字数组的和,max是最大的子数组的和46 int ordern=0,orderx=0;47 LinkList L;48 LNode *temp,*temp1,*temp2,*head;49 InitList(L);50 InsertList(L); //由用户往链表中插入数据51 temp=L->next;52 max=L->next->data; //max初值是链表中第一个数53 for(int i=0;i
next)54 {55 temp2=temp;56 for(int j=0;j
next)57 {58 for(int k=j;k
next)63 {64 sum=sum+temp1->data;65 }66 if(max
next;78 cout<<"最大字数组是:";79 for(i=0;i<(flag+ordern);i++) //找出取得最大值的时候的子数组的第一个数80 {81 temp=temp->next;82 }83 for(int j=0;j<(orderx-ordern+1);j++,temp=temp->next)//将取得最大和的子数组元素输出84 {85 cout<
data<<" ";86 }87 cout<
<<"最大子数组的和是:"<
<

 

三、运行截图

四、心得体会

  这次最大的感受就是,我们两个都有各自的思路想法,都想向对方阐述自己的想法,导致无法很好地接受倾听对方的声音。我觉得他的方法浪费内存空间,他认为他的查找过程清晰明了。最终还是于海洋同学妥协了,采用的是我的思路,用循环链表。开发过程还是像上两次差不多,个人有个人的优缺点,可以相互弥补。调试程序时,也是我俩共同协作排查出了错误。

五、无图无真相

 

转载于:https://www.cnblogs.com/JJJanepp/p/4373412.html

你可能感兴趣的文章
[LUOGU] P2245 星际导航
查看>>
【转】TabError:inconsistent use of tabs and spaces
查看>>
基于人脸识别的商业大数据14
查看>>
Class.forName("com.mysql.jdbc.Driver");的作用
查看>>
C# 泛型
查看>>
功能测试
查看>>
django的queryset和objects对象
查看>>
Dubbo架构设计简单了解
查看>>
网络编程:基于C语言的简易代理服务器实现(proxylab)
查看>>
badboy录制网站出现css样式混乱,网页的图标点击没反应
查看>>
步步为营 .NET 设计模式学习笔记系列总结
查看>>
WIN2008服务器不能复制粘贴怎么办
查看>>
jQuery插件开发
查看>>
链路层
查看>>
Canvas_2
查看>>
unity工具IGamesTools之批量生成帧动画
查看>>
Thread和Runnable
查看>>
多系统盘挂载
查看>>
virtualbox+vagrant学习-2(command cli)-25-Machine Readable Output
查看>>
2018.8.2-8.6学习内容
查看>>