数组的知识:
二、冒泡排序
从大到小基本思想: 每趟将相邻两个数字依次比较,将大的调到前面,最终每趟会将最小的沉到最后(这也是起名为冒泡的原因,大的向上冒泡,小的向下沉)。如果有n个数字,则要进行n-1趟比较,第一趟比较中要进行n-1次的两两比较,在第i趟要进行n-1-i次的两两比较。
//把一个整数插入从小到大排好序的数组中,要求新的数组仍然满足从小到大的顺序
int data[10]={66,33,126,128,888,10,67,54,20,16};
int temp=0;
for(int i=0;i<10-1;i++)
for(int j=0;j<10-1-i;j++)
if(data[j]<data[j+1])
{
temp=data[j];
data[j]=data[j+1];
data[j+1]=temp;
}
printf("数据从大到小排序如下:\n");
for(i=0;i<10;i++)
printf("%d ",data[i]);
printf("\n");
printf("请插入一个数字\n");
int interNum;
scanf("%d",&interNum);
for(i=0;i<10;i++)
{
if(data[i]<=interNum)
{
for(int s=9;s>=i;s--)
data[s+1]=data[s];
break;
}
}
data[i]=interNum;
printf("插入数字后的排序如下:\n");
for(i=0;i<11;i++)
printf("%d ",data[i]);
printf("\n");