写一算法输出已知顺序表A中元素的最大值和次最大值,并编写C语言程序。

作者&投稿:箕费 (若有异议请与网页底部的电邮联系)
写一算法求已知顺序表A中元素的最大值和次最大值。并编写C语言程序实现~

#include
#include

void printFstAndSndValue(SeqList sq)
{
int firstmax = 0;
int secondmax = 0;
int i = 0;

if(sq.last == -1)
{
printf(“List is empty!”);
return;
}

firstmax = sq.data[0];
secondtmax = 0;

for(i=1; i<=sq.last; ++i)
{
if(firstmax < sq.data[i])
{
firstmax = sq.data[i];
}
else if(secondmax < sq.data[i])
{
scondmax = sq.data[i];
}
}

printf(“%d %d”, firstmax, secondmax);
}

C:
max1 = a[0]; //最大值
max2 = a[0]; //次大值
for(i=1;i<num;i++)
{
if(a[i] > max1)
{
max2 = max1;
max1 = a[i];
}
else if(a[i] > max2)
{
max2 = a[i];
}
else ; //不用做
}

参考吧:c++,最小和次小值。
/************************************************************
** min2.cpp
** 求任意序列的最小值和次小值
** 思想: 定义min1,min2, 用输入流中的第一个元素初始化
** 继续输入,若输入元素v小于min1,则 min2 = min1, min1 = v
** 不然,若v小于min2, 则min2 = v
** 继续输入
************************************************************/

#include
#include
using std::cin;
using std::cout;
using std::endl;

int main()
{
int min1, min2, v; // v记录当前输入值

cout << "Enter numbers: ";
cin >> v;
min1 = min2 = v;

while(cin >> v)
{
if(v < min1) {min2 = min1; min1 = v;}
else if(v < min2) min2 = v;
else;
}

cout << "min1 = " << min1 << ", min2 = " << min2 << endl;

system("pause");
return 0;
}

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{ int i,n,a[200],M,m;
  scanf("%d",&n);
  srand(time(0));
  for(i=0; i<n; i++)
  { a[i]=rand()%20;
    printf("%d ",a[i]);
  }
  printf("
");
  a[0]>a[1]?M=a[0],m=a[1]:M=a[1],m=a[0];
  for(i=2; i<n; i++)
    if(a[i]==M)continue;
    else if(a[i]>M)
    { m=M;
      M=a[i];
    }
    else if(a[i]>m)m=a[i];
  printf("最大值=%d
次大值=%d
",M,m);
  return 0;
}


具/体/要/求/发/来/我/可/以帮/忙/。


用c语言编写算法:已知顺序表L,编写一个函数实现删除L的倒数第k个结点...
int delete_K(Sqlist L,int K,int *e){ int i,*p;if(L.length<K || 1>K)return 0;p=L.elem + (L.length-K);for(i=L.length-K;i<L.length-1;++i,++p)p=*(p+1);L.length--;return 1;}

已知输入序列为abcd,经过输出受限的双端队列后,能得到的输出序列是...
【答案】:B 输出受限的双端队列是指删除限制在一端进行,而插入允许在两端进行的队列。A项,输入序列为abcd,输出序列为dacb,由输出受限性质可知以da开头的结果只有dabc。B项,输入序列为abcd,输出序列为cadb,其输入输出顺序为:先在输出端输入a,然后在非输出端输入b,这时队列中的序列为ba,再...

给个智力题
36、1--100000 数列按一定顺序排列,有一个数字排错,如何纠错?写出最好 方法。两个数字呢? 37、链接表和数组之间的区别是什么? 38、做一个链接表,你为什么要选择这样的方法? 39、选择一种算法来整理出一个链接表。你为什么要选择这种方法?现在用 O(n)时间来做。 40、说说各种股票分类算法的优点和缺点。 41...

已知一个顺序是从小到大有序的,设计一个算法,插入一个值为x的结点,使...
include <stdio.h> include <stdlib.h> define N 8 typedef struct list {int data;struct list *next;} SLIST;void fun(SLIST *h, int x){SLIST *p, *q, *s;s=(SLIST *)malloc(sizeof(SLIST));s->data=x;q=h;p=h->next;while(p!=NULL && x>p->data) { q=p;p=p->...

数据结构 2.6 顺序表中元素互换示例算法(一)
希赛教育计算机考研专业课在线测试系统 试设计一个算法 用尽可能少的辅助空间将顺序表中前m个元素和后n个元素进行互换 即将线性表(a a … am b b … bn) 改变成(b b … bn a a … am)此题的难点在于要求用尽可能少的辅助空间 如果没有这个限制 可以另设一个和已知顺序表空间大小相同的顺序...

若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为p1,p2,p3,…,pn...
则pi为c、n-i+1。出栈顺序和入栈顺序是反的,所以出栈的第i个元素就是从n开始倒着数的第i个元。有一个数列(23,45,3,7,3,945)我们先对其进行进栈操作,则进栈顺序为:23,45,3,7,3,945 我们在对其进行出栈操作,则出栈顺序为:945,3,7,3,45,23 为了方便,我们通常做到:...

已知单链表L,写一算法,删除其中的重复结点,要运行结果急求
该问题最简单的算法如下:1. 将L中的结点加入另一个链表L1中,预加入的结点的值若已经位于原链表中则不加入 2. 最终L1即为需要的结果 该算法实现最为简单,但是效率不高,可以做如下改进 结点加入L1时按照从小到大进行排序,新加入的结点依照顺序进行比较,这样符合加入条件的 结点就无需比较L1的全部...

任何复杂的算法都可以用顺序结构、选择结构和___三种基本结构组成_百度...
顺序结构的相关知识 1、顺序结构的定义:顺序结构是一种线性的程序结构,它按照代码的先后顺序执行,没有分支和循环。顺序结构由一系列语句组成,每个语句都会被依次执行,前一个语句的输出是后一个语句的输入。2、顺序结构的特点:简单性:顺序结构是最简单的程序结构,易于理解和实现。它的执行流程是线性...

已知一个顺序表L,打印输出顺序表第i个元素的值,写出完整的算法
system("pause");return 0;} int getelem(Linklist *L,int i){ Linklist *p;p=L->next;int j=1;while(p&&jnext;++j;\/\/ } if(!p||j>i){ cout<<"j="<<j<<endl;cout<data;return 0;} cout<<"output data:";printf("%d",p->data);return 1;} ...

已知顺序表每个元素都是整数,编写算法,实现用最少的时间把所有数据值为...
public static void sort(int[] array){ int a = 0;int b = 0;while (b <= array.length){ if (array[b] > 0){ b++;} if (array[b] < 0){ int temp = array[b];array[b] = array[a];array[a] = temp;a++; b++;} } } ...

历下区19316045849: 写一算法求已知顺序表A中元素的最大值和次最大值.并编写C语言程序实现 -
兆昆邵丹参: #include <stdio.h> #include <conio.h>void printFstAndSndValue(SeqList sq) {int firstmax = 0;int secondmax = 0;int i = 0; if(sq.last == -1) {printf(“List is empty!”);return; }firstmax = sq.data[0]; secondtmax = 0; for(i=1; i<=sq.last; ++i) {if(...

历下区19316045849: 设计一算法输出已知顺序表A中元素的最大值和次大值,并分析算法的性能. -
兆昆邵丹参:[答案] #include void main(){ int a[8]={11,2,34,6,19,78,4,10}; int i,j,t; for(i=7;i>0;i--) for(j=0;ja[j]) { t=a[i]; a[i]=a[j]; a[j]=t; } printf("max=%d,second-max=%d\n",a[0],a[1]);}时间复杂度T(n)=n...

历下区19316045849: 写一算法输出已知顺序表A中元素的最大值和此最大值.用非形式算法描述,并编写C语言程序!
兆昆邵丹参: main() {int i,max,a[i]=(a,b c ,d ,e,f); for(i=0;i<5;i++) if a[i]<a[i+1] max=a[i]; else max=a[i+1]; printf("%d",max); }

历下区19316045849: 数据结构的算法:写出一算法输出已知顺序表A中元素的最大值和次最大值.用非形式算法描述,并编写C语言程 -
兆昆邵丹参: C: max1 = a[0]; //最大值 max2 = a[0]; //次大值 for(i=1;i<num;i++) {if(a[i] > max1){max2 = max1;max1 = a[i];}else if(a[i] > max2){max2 = a[i];}else ; //不用做 }参考吧:c++,最小和次小值. /****************************************************...

历下区19316045849: 设计一算法输出已知顺序表A中元素的最大值和次大值,并分析算法的性能. -
兆昆邵丹参: #include void main() { int a[8]={11,2,34,6,19,78,4,10}; int i,j,t; for(i=7;i>0;i--) for(j=0;j if(a[i]>a[j]) { t=a[i]; a[i]=a[j]; a[j]=t; } printf("max=%d,second-max=%d\n",a[0],a[1]); } 时间复杂度T(n)=n^2

历下区19316045849: 编写程序,输出已知顺序表A中元素的最大值和次要值. -
兆昆邵丹参: 设两个变量啊a,b,初始化两个值均为顺序表第一个值,遍历顺序表A,若有值比a大,则b等于a,a等于该值,若小,判断当a==b时,b等于该值.遍历一遍后,a为最大值,b为次大值.

历下区19316045849: 写一算法输出已知顺序表A中元素的最大值和次最大值,编写C语言程序的项目报告 -
兆昆邵丹参: 这个比较简单,有没帮我解决C编程的问题的呢,3月22的C/C++编程谢谢 这样做广告不太好,我还是做点什么吧,我给你解释一下laohu0071216同志的这个算法实现吧: 首先是定义3个变量分别存放3个即将用 scanf函数键入的数,和一个MAX记录下面两两比较的较大值,从IF语句开始比较a 和b的大小,大的存入MAX,再拿MAX(其实就是a或b的值)和仅剩下的C比较, MAX大就说明他里面存放的值 是最大的;反之则为C最大,把最大的C放入MAX中取代原来值,所以MAX中总是记录了比较后的最大值,只要输出MAX的值就是最大值了

历下区19316045849: 、编写程序,要求输出矩阵A中值最大的元素的行号、列号和元素的值.已知: -
兆昆邵丹参: # include int main (void) { int n,i,j,k; int a[3][4]; for (i=0;i for (j=0;j scanf("%d",&a[i][j]); for (i=0;i { for (j=0;j printf("%4d",a[i][j]); printf("\n***********\n"); } for(i=0;i{ k=0; for(j=1;j if(a[i][j]>a[i][k]) k=j; n=a[i][0];a[i][0]=a[i][k];a[i][k]=n;} for (i=0;i { for (j=0;j ...

历下区19316045849: 已知长度为n的线性表A采用顺序存储结构,请写一算法,找出该线性表中值最小的元素 -
兆昆邵丹参: min = -1;for(i=0; i<n i++)if(min > A[i])min = A[i];最小值为min

历下区19316045849: 已知长度为n的线性表A采用顺序存储结构,请写一算法,找出该线性表中值最小的数据元素. -
兆昆邵丹参: #include<stdio.h>#include<stdlib.h>#define n 10 typedef int elem; typedef struct { elem *head; int size; int lenth; }list; int init(list &l,int s) { l.head=(elem *)malloc(s*sizeof(elem)); if(!l.head)return -1; l.size=s; l.lenth=0; return 1; } void pr_min(list l) { int i; ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网