`

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语言中,可以使用`int arr[N]`来定义一个整数数组,其中N是数组的大小。 - 循环结构:使用`for`循环遍历数组,从第二个元素开始。 - 内部嵌套循环:对于每个未排序的元素,使用`while`循环找到它在已...

    C语言实现的插入排序

    本文将深入讲解如何在CFREE 5.0环境下编写一个C语言的插入排序程序。 ### 1. 插入排序基本概念 插入排序通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。它的时间复杂度在最好...

    插入排序 C语言实现

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

    插入排序C语言算法实现

    本次文章将详细介绍如何使用C语言实现插入排序,并深入解析其实现细节。 #### 插入排序的基本思想 插入排序的核心思想是将数组分为已排序部分和未排序部分。初始时,数组的第一个元素被视为已排序部分,其余元素为...

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

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

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

    选择排序是一种简单的排序算法,它的工作原理是每一次从待排序的数据元素中选择出最小(或最大)的一个元素,存放到排序的起始位置,然后从剩下的未排序元素中继续寻找最小(或最大)元素,依次类推,直到所有元素都...

    快速排序 C语言实现

    在C语言中实现快速排序,首先我们需要定义一个函数来执行主要的排序操作。这个函数通常称为`quick_sort()`,它接受两个参数:一个指向数组的指针和两个整数,分别表示要排序的数组起始和结束位置的索引。 ```c void...

    几个排序程序(C语言实现)

    这里我们主要探讨四个由C语言实现的排序程序:快速排序、插入排序、自底向上排序和基数排序。 首先,快速排序是一种分治策略的典型应用,由C.A.R. Hoare在1960年提出。其基本思想是选择一个基准值,将数组分为两...

    用指针实现的C语言排序算法

    在C语言中,我们可以定义一个指向数组的指针,通过递增或递减指针来遍历数组,比较相邻元素并根据需要交换它们。 2. 选择排序:每次找到剩余部分的最小(或最大)元素,然后与第一个未排序元素交换。指针可以用来...

    C语言几种排序代码

    C语言实现中,通常用一个临时变量来辅助交换过程,确保每次找到的最小元素都能被移到前面。 3. **插入排序**:将数组分为已排序和未排序两部分,每次取未排序部分的第一个元素,插入到已排序部分的合适位置。C语言...

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

    选择排序每次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。时间复杂度同样为O(n^2)。 3. **插入排序(Insertion Sort)**: 插入排序通过构建有序...

    c语言中的插入排序法PPT课件.pptx

    下面是一个使用C语言实现插入排序法的示例代码: ```c #include "stdio.h" #define N 6 void fun(int a[], int x) { int i, j = N - 1; for (i = 0; i &lt; N - 1; i++) { if (x [i]) { for (; j &gt; i; j--) a[j] = ...

    使用C语言写的直接插入排序算法

    本篇文章将详细介绍一个使用C语言编写的直接插入排序算法。直接插入排序是一种简单的排序算法,它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现...

    各种常用排序算法的C语言实现

    在C语言中,可以使用一个外层循环按顺序遍历数组,同时用一个内层循环找到每个元素的正确位置并移动元素。插入排序的平均时间复杂度为O(n²),但在接近有序的数据上表现优秀,可达O(n)。 4. 快速排序(Quick Sort)...

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

    本项目旨在实现并比较六种经典的排序算法——直接插入排序、折半插入排序、起泡排序、简单选择排序、堆排序以及2-路归并排序,使用C语言编程。为了全面评估这些算法,我们将在一组随机生成的30000个整数上运行它们,...

    插入排序算法C语言程序.zip

    本项目提供的“插入排序算法C语言程序”是一个实现这一算法的实例,有助于理解插入排序的工作原理。 1. 插入排序算法概念: 插入排序的核心在于每次将一个待排序的记录,按其关键字大小插入到前面已经排序的子序列...

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

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

    C语言实验报告——指针

    2. 插入排序:使用指针实现插入排序,首先将数组排序,然后在有序数组中插入新的元素并保持有序。这里,指针用于遍历数组和查找插入位置。 3. 字符串处理:`newcopy`函数通过指针遍历字符串,删除小写字母。指针在...

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

    冒泡排序同样具有O(n^2)的时间复杂度,但它是一个稳定的排序算法。以下是C++实现的冒泡排序函数: ```cpp void bubble_sort(int a[], int n) { int i, j, tmp; for (i = 0; i &lt; n; ++i) { for (j = n - 1; j &gt; i...

    数据结构排序算法C语言实现

    1. **插入排序**:插入排序是一种简单直观的排序算法,它的工作原理是通过构造一个有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用...

Global site tag (gtag.js) - Google Analytics