对于一组无序数据,通过插入排序使得成为有序(C++语言)

我没学过C语言C++好吗?... 我没学过C语言 C++好吗? 展开
 我来答
浪漫10O天
推荐于2016-05-21
知道答主
回答量:63
采纳率:0%
帮助的人:10.8万
展开全部
这个交给我,你要是从小到大排序还是从大到小??
#include<iostream>
using namespace std;
int main()
{
int *q,n;
q=new int[n];//动态申请数组,可以改变数组里面元素的个数;
cout<<"输入数组元素的个数:";
cin>>n;//输入元素的个数n;
cout<<"一次输入无序的数组元素:";
for(int i=1;i<=n;++i)//一次输入一组无序的元素,标号为零的地方空出来比较时要用到
{
cin>>q[i];
}
for(i=2;i<=n;++i)//排序算法
{
q[0]=q[i];
for(int j=i-1;q[0]<q[j];j--)
q[j+1]=q[j];
q[j+1]=q[0];
}
cout<<"排序后的数组元素为:";
for(int m=1;m<=n;++m)//输出排序后的元素
{
cout<<q[m]<<" ";
}
cout<<endl;
return 0;
}
kaixingui2012
2012-06-03 · TA获得超过4.2万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:6448万
展开全部
#include <stdio.h>

void insertSort(int* arr,int len)
{
int i=0,j=0;
int tmpData;

for(i=1;i<len;i++)
{
j=i;
tmpData=arr[i] ;
while(j > 0 && tmpData < arr[j-1])
{
arr[j]=arr[j-1];
j--;
}
arr[j]=tmpData;
}
}

void show_array( int *arr , int len )
{
int i=0;
for(i=0;i<len;i++)
{
printf("arr[%d]=%d\n" , i , arr[i] );
}
}
int main()
{
int aiData[]={ 8,4,3,9,6,0,1,7,2,5 } ;

show_array( aiData , 10 );

insertSort( aiData , 10 );

show_array( aiData , 10 );

return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
守恒110
2012-06-03 · TA获得超过220个赞
知道小有建树答主
回答量:298
采纳率:100%
帮助的人:132万
展开全部
看严蔚敏的数据结构吧!自己看的印象深刻
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式