当前位置:首页 » 多媒体相关

关于自定义类的对象数组排序问题,我错在哪里?


我想把学生按学号大小排序后输出,输入输出都没问题,但排序却不能成功.  
  ...  
  #define   size   3  
  class   student  
  {  
      public:  
  string   m_name;  
  int   m_num;  
   
  void   sort   (   student*   stu);  
  void   show   (   student*   s);  
  };  
  void   student::   sort   (student*   stu   )  
  {  
    student   temp;  
          for   (int   j=0   ;   j<size-1   ;   j++)      
            {  
  for   (int   i=0   ;   i<size-1-j   ;   i++   )    
              {  
      if   (stu[i].m_num   >   stu[i+1].m_num)  
      {  
        temp=stu[i];    
        st[i]=stu[i+1];  
        stu[i]=temp   ;    
        }  
    }  
            }  
  }  
  void   student::show(   student*   s)  
  {  
  for   (int   i=0;i<size;i++)  
  {  
  cout<<s[i].m_name<<"     "<<s[i].m_num<<endl;  
  }  
  }  
  int   main()  
  {  
  student   stu[size];  
   
  for   (int   j=0;   j<size;   j++)  
  {  
  cout<<"ener   a   name:   ";  
  cin>>stu[j].m_name;  
   
  cout<<"entre   a   number:   ";  
  cin>>stu[j].m_num;  
  }  
  stu->sort(stu);  
  stu->show   (stu);  
   
  return   0;  
  }

推荐阅读

  • 恐怖侵袭掌机!《生化危机》NDS版惊悚公布 [详细内容]
  • iSuppli预测中国3G牌照将推迟到2006年发放 [详细内容]
  • 易观指中国明年初发3G牌照 用户将达1500万 [详细内容]
  • 不一样的行货主机!“iQue DS”图文评测 [详细内容]
  • v600刷机完全攻略(一) [详细内容]
  • 2010年中国IPTV市场规模将成为全球最大块 [详细内容]
  • 雅虎Verizon共推DSL服务 旨在推广收费服务 [详细内容]
  • 网友回答:
    网友:ejiue

    temp=stu[i];    
        st[i]=stu[i+1];  
        stu[i]=temp   ;  
      看清楚最后一句,你大意了呀。

    .

    讨论区

    Login