| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1090 人关注过本帖
标题:选择排序问题
只看楼主 加入收藏
骇客
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2004-11-9
收藏
 问题点数:0 回复次数:4 
选择排序问题

老是找不出错误所在好郁闷啊。 #include<iostream> using namespace std; const MAXNUM=100; typedef int KeyType; typedef int DataType; typedef struct { KeyType key; DataType info; }RecordNode;

typedef struct { RecordNode record[MAXNUM]; int n; //n记录数据的个数,n<MAXNUM }SortObject;

void selectSort(SortObject *pvector) { int i,j,k; RecordNode temp; for(i=0;i<pvector->n-1;i++) { k=i; for(j=i+1;j<pvector->n;j++) if(pvector->record[j].key<pvector->record[k].key) k=j; if(k!=i) { temp=pvector->record[i]; pvector->record[i]=pvector->record[k]; pvector->record[k]=temp; } } }

int main() { int A[10]={45,7878,46545,78,56,48,8,659,45,23456}; SortObject *object; object->n=10; for(int i=0;i<object->n;i++) object->record[i].key=A[i]; selectSort(SortObject *object); //cpp(44) : error C2275: 'SortObject' : illegal use of this type as an expression for(int j=0;j<object->n;i++) cout<<object->record[j].key<<" "; cout<<'\n'; return 0; }

//cpp(44) : error C2275: 'SortObject' : illegal use of this type as an expression 大家帮小弟一下,谢谢。

搜索更多相关主题的帖子: int typedef pvector RecordNode struct 
2005-02-01 17:52
kai
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:52
帖 子:3450
专家分:59
注 册:2004-4-25
收藏
得分:0 
#include &lt;iostream&gt;
#include &lt;cstdlib&gt;
using namespace std;
const int MAXNUM =100;
typedef int KeyType;
typedef int DataType;

typedef struct
{
   KeyType key;
   DataType info;
}RecordNode;

typedef struct
{
   RecordNode record[MAXNUM];
   intn;                    //n¼Ç¼Êý¾ÝµÄ¸öÊý£¬n&lt;MAXNUM
}SortObject;

void selectSort(SortObject * pvector)
{
   int i,j,k;
   RecordNode temp;
   for(i=0;i&lt;pvector-&gt;n-1;i++)
   {
      k=i;
      for(j=i+1;j&lt;pvector-&gt;n;j++)
         if(pvector-&gt;record[j].key&lt;pvector-&gt;record[k].key)
            k=j;
      if(k!=i)
      {
         temp=pvector-&gt;record[i];
         pvector-&gt;record[i]=pvector-&gt;record[k];
         pvector-&gt;record[k]=temp;
      }
   }
}

int main()
{
   int A[10]={45,7878,46545,78,56,48,8,659,45,23456};
   SortObject object;
   object.n=10;
   for(int i=0;i&lt;object.n;i++)
      object.record[i].key=A[i];
   selectSort(&amp;object);   
   for(int j=0;j&lt;object.n;j++)
      cout&lt;&lt;object.record[j].key&lt;&lt;" ";
   cout&lt;&lt;'\n';
   system("pause");
   return 0;
}

// 我发现你的基础概念不太扎实啊.
// 程序不是让你一口气写完再来改的,而是先写一个概况, 在一个框架的基础上逐渐扩展的.

自由,民主,平等,博爱,进步.
中华民国,我的祖国,中华民国万岁!中华民国加油!
本人自愿加入中国国民党,为人的自由性,独立性和平等性而奋斗!
2005-02-02 03:24
骇客
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2004-11-9
收藏
得分:0 
谢谢开,我理论学了一通,但真正自己编的得不多。
原来以为书看多了自然就会,现在发现不是,真的自己编起来问题好多,好的问题不编的话根本发现
不了。
编得少基础自然就不怎么样了,希望kai多多指点,真的很感谢你。
2005-02-02 11:44
骇客
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2004-11-9
收藏
得分:0 
请问kai能公开下QQ吗,想和你教个朋友
2005-02-02 11:45
kai
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:52
帖 子:3450
专家分:59
注 册:2004-4-25
收藏
得分:0 
骇客, 我不用QQ 的,通过Email就可以和我联系了。 我非常同意你3楼的话,看书只是纸上谈兵,等你自己一写程序就知道问题有多多了。经验是很宝贵的,而经验是通过实践积累的,也就是多写程序,多看程序。只有这样,你才能明白什么是编程思想。 我提到的先写框架,再写具体内容,不知你是否理解?这是避免错误的一个方法。

自由,民主,平等,博爱,进步.
中华民国,我的祖国,中华民国万岁!中华民国加油!
本人自愿加入中国国民党,为人的自由性,独立性和平等性而奋斗!
2005-02-02 14:11
快速回复:选择排序问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.032454 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved