`

C语言:实现N个整数排序,并插入一个整数!

阅读更多

C语言是学习计算机基础,暑假一直在学Java,开学了数据结构上机,老师让编一个实现N个整数排序,

 

并插入一个整数的小程序,可是我整节课都没搞定。郁闷了许久,觉得自己太过舍本逐末了,基础都忘光了。

 

咳~~~~于是一阵恶补。好好看了看排序,总结及源码如下:

 

冒泡排序:

 

<!---->#include "stdio.h"
main() 

int i,j,temp,s; 
int a[10]; 
printf(
"请输入10个整数:");
for(i=0;i<10;i++
scanf (
"%d,",&a[i]); 
for(j=0;j<=9;j++
for (i=0;i<10-j;i++
if (a[i]>a[i+1])
{ temp
=a[i]; 
a[i]
=a[i+1]; 
a[i
+1]=temp;} 

printf(
"冒泡排序后的数列为:"); 
for(i=0;i<10;i++
printf(
"%3d",a[i] ); 
printf(
"\n"); 
scanf(
"%d",&s);//防止运行窗口迅速关闭

 

选择排序:

 

Code
<!---->#include "stdio.h"
void main()
{
 
int a[10];
 
int i,j,t,s;
 printf(
"请输入10个整数:");
 
for(i=0;i<10;i++)
 scanf(
"%d",&a[i]);
 printf(
"\n");
 
for(j=0;j<9;j++)
 
for(i=9;i>j;i--)
 
if(a[j]>a[i])
 {
  t
=a[j];
  a[j]
=a[i];
  a[i]
=t;
 }
 printf(
"选择排序后的数列为:"); 
 
for(i=0;i<10;i++)
 printf(
"%d  ",a[i]);
 printf(
"\n");
 scanf(
"%d",&s);//同上
}

 

实现N个整数排序,并插入一个整数源码:

 

<!---->#include <stdio.h>
main(){
 
int n;
 
int a[100];
 
int i,j,k,t,x,s;
 printf(
"输入数列长度:\n");
 scanf(
"%d",&n);
 printf(
"请输入%d个整数:\n",n);
 
for(i=0;i<n;i++){
  scanf(
"%d",&a[i]);
 }
 
for(i=0;i<n;i++){// 排序
  k=i;
  
for(j=i;j<n-1;j++){
   
if(a[k]>a[j+1]){
    k
=j+1;
   }
  }
  
if(k!=i){
   t
=a[i];
   a[i]
=a[k];
   a[k]
=t;
  }
 }
 printf(
"\n"); 
 printf(
"排序后的数列:\n");
 
for(i=0;i<n;i++){
  printf(
"%d ",a[i]); 
 }
 printf(
"\n"); 
 printf(
"请输入要插入的数:");
 scanf(
"%d",&x);
 
for(i=0;i<n;i++){
  
if(x>a[i]&&x<a[i+1]){
   k
=i+1;
   
break;
  }
 }
 
for(i=n;i>k;i--){
  a[i]
=a[i-1];
 }
 a[k]
=x;
 printf(
"插入%d后的排序数列为:",x);
 
for(i=0;i<=n;i++){
  printf(
"%d ",a[i]); 
 }
 scanf(
"%d",s); //同上
}

 

全部代码都测试通过,正确无误!

 

施杨出品!!!

分享到:
评论

相关推荐

    插入排序 C语言实现

    经典的插入排序算法,C语言实现,数据结构必备

    c语言实现三种排序算法(冒泡,插入,快速)

    c语言实现三种排序算法(冒泡,插入,快速)

    C语言实验报告——指针

    2.编程实现:将一个任意整数插入到一个已排序的整数数组中,插入后数组中的数仍然保持有序。 3.编写函数newcopy(char *new,char *old),它的功能是删除old所指向的字符串中的小写字母,并将所得到的新串存入...

    快速排序 C语言实现

    快速排序 C语言实现 快速排序 C语言实现 快速排序 C语言实现

    经典C语言排序算法,冒泡排序,选择排序,插入法排序.

    经典C语言排序算法,其中包括三种典型号的排序算法,冒泡排序,选择排序,插入法排序,并有实例.

    C语言程序设计-排序算法:理解和重点掌握选择法排序、冒泡法排序、插入法排序的思想

    C语言程序设计-排序算法:理解和重点掌握选择法排序、冒泡法排序、插入法排序的思想 ⑴编写程序,对n个整数用冒泡法排序(从小到大或从大到小); ⑵编写程序,对n个整数用选择法排序(从小到大或从大到小); ⑶...

    插入排序法.c

    使用插入排序算法对输入的n个整数,按照从小到大的顺序排序。 Input Description 第一行输入一个整数n(0&lt;n)。 第二行输入n个整数。 Output Description 输出排序后的整数,每个整数之间以一个空格分隔。注意:...

    C语言实现选择排序、直接插入排序、冒泡排序的示例

    主要介绍了C++实现选择排序、直接插入排序、冒泡排序的代码示例,相当简洁直观,也是算法和数据结构学习中的基础,需要的朋友可以参考下

    数据结构 综合排序 C语言实现

    1) 分别采用的方法有插入排序、希尔排序、起泡排序、快速排序、选择排序、堆排序、归并排序,实现这批数据的排序,并把排序后的结果保存在不同的文件中。 2) 统计每一种排序方法的性能(以上机运行程序所花费的时间...

    数据结构第5次作业.docx

    一、查找 1. 算法设计题 :已知n元顺序表a0, a1, … , an-1按关键字...提示:对于C语言32bit宽的unsigned类型,可以采用16进制形式来实现基数排序,即32bit共有8个16进制位,每个16进制位进行一趟分配和收集,共8趟。

    四种排序算法时间记录(C语言实现快排归并插入大顶堆)

    课程实验数据结果,C语言实现快排归并插入大顶堆。 内含5W-50W随机生成整数每隔5W数据量排序一次的时间记录,并对其进行了均值和方差的比较。

    C/C++数据结构_随机10000个数:排序~8大排序代码集.rar

    数据结构的所有排序,源代码,改变MAX值可以改变随机数的多少。花了一下午写出来的,清大家多多支持。一个文件,解决你课后一个下午的时间。

    用C语言实现常用排序算法

    利用随机函数产生30000个随机整数,利用插入排序、起泡排序、选择排序、快速排序、堆排序、归并排序等排序方法进行排序,并且 (1) 统计每一种排序上机所花费的时间。 (2) 统计在完全正序,完全逆序情况下记录的比较...

    c语言实现快速排序(逐步优化)

    c语言实现的快速排序算法,及其一步步优化代码(1. 数组长度较小时候选择插入排序;2. 主元在数组最左最右,中间三个数字中间选择中间大小的, 数组拆分后将 重复数字挪到主元附近,不进行重复partition)

    C语言程序设计实现希尔排序和堆排序

    利用随机函数产生N个随机整数(20000以上),对这些数进行多种方法进行排序。 要求: 1) 至少采用三种方法实现上述问题求解(提示,可采用的方法有插入排序、希尔排序、起泡排序、快速排序、选择排序、堆排序、归并...

    c语言各种排序

    c语言的各种排序实现方法以及详细的注释比如 快速排序 归并排序 简单排序 插入排序等等

    经典算法全部用C语言实现

    以下算法均用C语言实现,代码可运行 老掉牙 河内塔 费式数列 巴斯卡三角形 三色棋 老鼠走迷官(一) 老鼠走迷官(二) 骑士走棋盘 八个皇后 八枚银币 生命游戏 字串核对 双色、三色河内塔 背包问题...

    内部排序(C语言版!).c

    2、输出直接插入排序、希尔排序、冒泡排序、快速排序、简单选择排序、堆排序、归并排序算法每一趟排序的结果,观察关键字次序的变化。 3、如果上述8个整数按照升序输入,即k1={ 2 , 12 , 12 , 21 , 30 , 33 , 45 ,...

    C语言_希尔排序希尔排序

     先取一个小于n的整数d1作为第一个增量,把文件的全部记录分成d1个组。所有距离为dl的倍数的记录放在同一个组中。先在各组内进行直接插入排序;然后,取第二个增量d2重复上述的分组和排序,直至所取的增量dt=1(dt…...

    C语言排序综合练习

    功能介绍: 该程序是实现整数排序的程序,通过随机函数产生20000以上的整数,分别用(1)直接插入排序(2)冒泡排序(3)快速排序(4)直接选择排序(5)堆排序(6)希尔排序,六种方法来排序

Global site tag (gtag.js) - Google Analytics