注册 登录
编程论坛 C++ Builder

C++数据结构的题。高手帮我看看啊,我想删除最小的结点,大家帮我看看这个程序,谢谢啦

xyq058628 发布于 2010-09-13 21:41, 1516 次点击
#include <iostream.h>
#include <stdlib.h>
#include <time.h>
#define N 10
void number(int s[],int &h,int &n)
{
 int i;h=0;n=N;
 for(i=h;i<h+n;i++)
  s[i]=rand()%90+10;
}
void display(int s[],int h,int n)
{
 int i;
 for(i=h;i<h+n;i++)
  cout<<s[i]<<"  ";
}
void min(int s[],int h,int n)
{
 int j;
 int i=h;
 for (j=h+1;j<n;j++)
  if (s[j]<s[i])
  {i=j;}
  for(j=i;j<n-1;j++)
  {s[j]=s[j+1];}
n--;
cout<<s[j]<<endl;
}

void main()
{
  int s[N],h,n;
  number(s,h,n);
  cout<<"原数组为:"<<endl;
  display(s,h,n);
  min(s,h,n);
}
2 回复
#2
myth_feng2010-09-16 11:24
#include <iostream.h>
#include <stdlib.h>
#include <time.h>
#define N 10
void number(int s[],int &h,int &n)
{
  int i;h=0;n=N;
  for(i=h;i<h+n;i++)
  s[i]=rand()%90+10;
}
void display(int s[],int h,int n)
{
  int i;
  for(i=h;i<h+n;i++)
  cout<<s[i]<<"  ";
  cout<<endl;
}

void min(int s[],int h,int n)
{
  int j;
  int i=h+1;
  for (j=h;j<n;j++)
  if (s[j]<s[i])
  {i=j;}
  for(j=i;j<n-1;j++)
  {s[j]=s[j+1];}
  n--;
  display( s, h, n);  //在调一次输出函数
}

void main()
{
  int s[N],h,n;
  number(s,h,n);
  cout<<"原数组为:"<<endl;
  display(s,h,n);
  min(s,h,n);
  getchar();
}

程序写的没问题 ,就是太乱,而且这不是数据结构!
#3
聆听2010-10-21 21:03
1