1. 设有一个已按从大至小顺序排好的数列存放在一维数组中,现输入一个数,仍按原来的排序规律将其插入到数组中,试编程。

binggege1225 2002-09-28 08:40:39
设有一个已按从大至小顺序排好的数列存放在一维数组中,现输入一个数,仍按原来的排序规律将其插入到数组中,试编程。
...全文
3012 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
starmoonjiaozhu 2002-10-04
  • 打赏
  • 举报
回复
其实数据结构里有很多的排序算法。。等你学了之后再来做这个题就简单了撒!
这种问题还是只有自己看书才能解决的啊!
binggege1225 2002-10-04
  • 打赏
  • 举报
回复
好的,谢谢你们给我的每一个建议!
《数据结构》我才刚刚开始学,老师偏偏经常旷工,很是苦恼!
不过,我还是有些不明白!^_^
lizhongkun 2002-10-03
  • 打赏
  • 举报
回复
从后面开始找,a[n+1]=a[n];!!!!!!!!!!!!!!
johnmack 2002-10-03
  • 打赏
  • 举报
回复
随便一本《数据结构》书中都有
alexxing 2002-10-01
  • 打赏
  • 举报
回复
最基本的原理就是从前往后搜索,找到第一个比待插入元素小的元素,插在它前面就是了,如果没有找到更小的元素,就添加在尾部
johnmack 2002-10-01
  • 打赏
  • 举报
回复
看看《数据结构》的书吧!
asvaboy1980 2002-10-01
  • 打赏
  • 举报
回复
唉,这就是《数据结构》里的直接插入排序的方法嘛,多看看书~~
诗剑南宫 2002-10-01
  • 打赏
  • 举报
回复
免费提供Ebook!!
ssbelle 2002-10-01
  • 打赏
  • 举报
回复
我们那里打折,20就卖
诗剑南宫 2002-10-01
  • 打赏
  • 举报
回复
图书在版编目(CIP)数据

数据结构:C语言版/严蔚敏,吴伟民编著.-北京:清华大学出版社,1996
ISBN 7-302-02368-9

I.数... II.①严... ②吴... III.数据结构-C语言版-教材 IV. TP311.13

中国版本图书馆CIP数据核字(96)第22985号
出版者:清华大学出版社(北京清华大学学研大厦,邮编100084)
http://www.tup.tsinghua.edu.cn
责任编辑:范素珍
印 刷 者:北京市凤台丰华印刷厂
发 行 者: 新华书店总店北京发行所
开 本:787×1092 1/16 印张:21.5 字数:509千字
版 次:1997年4月第一版 2001年1月第11次印刷
书 号: ISBN 7-302-02368-9/TP.1185
印 数:317001~357000
定 价:22.00元
zomg 2002-10-01
  • 打赏
  • 举报
回复
vector<class T>a(10);/假设有十个
for(int i=0;i<a.size();i++)
cin>>a[i];
push_back(s);/插入s至尾部;
sort(a);

darkstar21cn 2002-10-01
  • 打赏
  • 举报
回复
最简单的插入排序:
int iNew;
bool b=true;
for(;n>=1 && b;n--){ //假设aOld是原来已经有序的书组,而n为数组的长度
if( aOld[n]<iNew) { //如果必要插入的元素小的话,向后移动,直至找到一个
aOld[n+1]=aOld[n]; //比他大的元素
}
else {
b=false;
}
}
aOld[n]=iNew;
nick_hero 2002-10-01
  • 打赏
  • 举报
回复
看数据结构。
windysys 2002-10-01
  • 打赏
  • 举报
回复
就是一个插入排序算法吧,找本《数据结构》,基本都有的。
ccat 2002-09-30
  • 打赏
  • 举报
回复
这个数组的容器用的是什么呢?代码写出来一定不一样的
如果用STL当然简单喽……
15962 2002-09-30
  • 打赏
  • 举报
回复
假如溢出呢?
kbsoft 2002-09-28
  • 打赏
  • 举报
回复
Easy!
利用直接插入排序就行

#define MAXNUM 100
#include<stdio.h>
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 insertSort(SortObject * pvector) /* 按递增序进行直接插入排序 */

{int i, j;

RecordNode temp;

for( i = 1; i < pvector->n; i++ ) /* 依次插入记录R1, R2…Rn-1 */

{temp = pvector->record[i]; j = i-1;

while ((temp.key < pvector->record[j].key)&&(j>=0) ) /* 由后向前找插入位置 */

{pvector->record[j+1] = pvector->record[j];/* 将排序码大于ki的记录后移 */

j--;

}

if( j!=(i-1) ) pvector->record[j+1] = temp;

}

}

SortObject vector={49,38,65,97,76,13,27,49};

int main(){
int i;
vector.n=8;
insertSort(&vector);
for(i=0;i<8;i++)
printf("%d ",vector.record[i]);
return 0;
}

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧