精华内容
下载资源
问答
  • C语言数组排序

    千次阅读 多人点赞 2019-08-22 17:15:40
    C语言数组元素排序 第一次写,好紧张,那些技术大佬们都在装萌新并且活跃于各大平台,参加各种CTF比赛,而我这种真正的菜鸡只能躲在角落里瑟瑟发抖,光是看他们群里面的聊天记录都感觉胜读了好多年书,唉!!!...

                                  C语言数组元素排序

     

             第一次写,好紧张,那些技术大佬们都在装萌新并且活跃于各大平台,参加各种CTF比赛,而我这种真正的菜鸡只能躲在角落里瑟瑟发抖,光是看他们群里面的聊天记录都感觉胜读了好多年书,唉!!!!!菜是原罪。

    1.冒泡排序法:

    #include<stdio.h>
    
    int main ()
    {
        int i,j;
        int temp;
        int array[10];
    
        printf("请输入10个整数:\n");
        for(i=0; i<10; i++)
        {
            printf("第 %d 个元素: ",i+1);
            scanf("%d",&array[i]);              
        }
    
        for(i=0; i<10; i++)
        {
            for(j=0; j<10-i-1; j++)
               {
                    if(array[j] > array[j+1])    //相邻元素之间比较
                    {                            //大的元素向右移动
                        temp = array[j]          //每一轮比较最大的元素在最后
                        array[j] = array[j+1]
                        array[j+1] = temp;
                    }
                }
        }
    
    
    printf("排序后的结果: \n");
    for(i=0; i<10; i++)
    {
        printf("%d",array[i]);
    }
    printf("\n");
    return 0;
    }

    2.选择排序法:

    #include<stdio.h>
    
    int main( )
    {
        int i, j = 0;
        int temp, array[10];
        printf("请输入10个整数:\n");
        for(i=0; i<10; i++)
        {
            printf("第 %d 个数: ",i+1);
            scanf("%d",array+i);
        }
    
        for(i=0; i<10-1; i++)
        {
    	for(j=i+1; j<10; j++)              //10个元素选出最小的元素放在第一位
            {
    	     temp = array[i];           //在剩下9个元素中选出最小的放在第二位
    		if (array[i] > array[j])   //以此类推
    		{ 
    		    array[i] = array[j];
    		    array[j] = temp;
    		}
    	}
        }  
        printf("排序过后的结果: \n");
        for(i=0; i<10; i++)
        {
    	printf("%d\t",array[i]);
        }
    }

     

     

     

     

     

     

    展开全文
  • C语言数组排序小结

    2012-07-17 08:31:31
    C语言数组排序小结
  • 如何将两个已排序数组合并成一个排序数组,下面我们给出使用c语言合并两个已排序数组的示例,需要的朋友可以参考下
  • 数组形式,不能运用除了main之外的函数的冒泡法,选择排序法,二分法,插入法,删除法,最好来段代码
  • (3)数组a从小到大排序; (4)将排序后的数组a组成一个值为最小的整数(记为min); (5)输出min及其位数(两数中间以空格分隔)。 麻烦列位大神看看哪里错了,输出不出值 #include #include int main...
  • C语言数组排序

    万次阅读 多人点赞 2011-07-13 20:27:16
    很多朋友是以谭浩强老师编的《c语言教程》作为学习...为了扩大视野,增加学习编程的兴趣,我参阅了有关书籍,整理了几种排序法,写出来同大家共勉让我们先定义一个整型数组a[n],下面用五种方法对其从小到大排序。 (1)
     

    很多朋友是以谭浩强老师编的《c语言教程》作为学习C语言的入门教程的。书中涉及排序问题一般都以“冒泡法”和“选择法”实现。为了扩大视野,增加学习编程的兴趣,我参阅了有关书籍,整理了几种排序法,写出来同大家共勉

    让我们先定义一个整型数组a[n],下面用五种方法对其从小到大排序。

    (1)“冒泡法”

    冒泡法大家都较熟悉。其原理为从a[0]开始,依次将其和后面的元素比较,若a[0]>a[i  ],则交换它们,一直比较到a[n]。同理对a[1],a[2],...a[n-1]处理,即完成排序。下面列出其代码:

    void bubble(int *a,int n) /*定义两个参数:数组首地址与数组大小*/

    {

    int i,j,temp;

    for(i=0;i<n-1;i++)

    for(j=i+1;j<n;j++) /*注意循环的上下限*/

    if(a[i  ]>a[j]) {

    temp=a[i  ];

    a[i  ]=a[j];

    a[j]=temp;

    }

    }

    冒泡法原理简单,但其缺点是交换次数多,效率低。

    下面介绍一种源自冒泡法但更有效率的方法“选择法”。

     

    (2)“选择法”

    选择法循环过程与冒泡法一致,它还定义了记号k=i,然后依次把a[k]同后面元素比较,若a[k]>a[j],则使k=j.最后看看k=i是否还成立,不成立则交换a[k],a[i ],这样就比冒泡法省下许多无用的交换,提高了效率。

    void choise(int *a,int n)

    {

    int i,j,k,temp;

    for(i=0;i<n-1;i++) {

    k=i; /*给记号赋值*/

    for(j=i+1;j<n;j++)

    if(a[k]>a[j ]) k=j; /*是k总是指向最小元素*/

    if(i!=k) { /*当k!=i是才交换,否则a[i ] 即为最小*/

    temp=a[i ];

    a[i ]=a[k];

    a[k]=temp;

    }

    }

    }

    选择法比冒泡法效率更高,但说到高效率,非“快速法”莫属,现在就让我们来了解它。

     

    (3)“快速法”

    快速法定义了三个参数,(数组首地址*a,要排序数组起始元素下标i,要排序数组结束元素下标j). 它首先选一个数组元素(一般为a[(i +j)/2],即中间元素)作为参照,把比它小 的元素放到它的左边,比它大的放在右边。然后运用递归,在将它左,右两个子数组排序,最后完成整个数组的排序。下面分析其代码:

    void quick(int *a,int i,int j)

    {

    int m,n,temp;

    int k;

    m=i;

    n=j;

    k=a[(i +j)/2]; /*选取的参照*/

    do {

    while(a[m]<k&&m<j) m++; /* 从左到右找比k大的元素*/

    while(a[n]>k&&n>i) n--; /* 从右到左找比k小的元素*/

    if(m<=n) { /*若找到且满足条件,则交换*/

    temp=a[m];

    a[m]=a[n];

    a[n]=temp;

    m++;

    n--;

    }

    }while(m<=n);

    if(m<j) quick(a,m,j); /*运用递归*/

    if(n>i) quick(a,i,n);

    }

     

    (4)“插入法”

    插入法是一种比较直观的排序方法。它首先把数组头两个元素排好序,再依次把后面的元素插入适当的位置。把数组元素插完也就完成了排序。

    void insert(int *a,int n)

    {

    int i,j,temp;

    for(i=1;i<n;i++) {

    temp=a[i ]; /*temp为要插入的元素*/

    j=i-1;

    while(j>=0&&temp<a[j]) { /*从a[i -1]开始找比a[i ]小的数,同时把数组元素向后移*/

    a[j+1]=a[j ];

    j--;

    }

    a[j+1]=temp; /*插入*/

    }

    }

     

    (5)“shell法”

    shell法是一个叫 shell 的美国人与1969年发明的。它首先把相距k(k>=1)的那几个元素排好序,再缩小k值(一般取其一半),再排序,直到k=1时完成排序。下面让我们来分析其代码:

    void shell(int *a,int n)

    {

    int i,j,k,x;

    k=n/2; /*间距值*/

    while(k>=1) {

    for(i=k;i<n;i++) {

    x=a[i ];

    j=i-k;

    while(j>=0&&x<a[j]) {

    a[j+k]=a[j ];

    j-=k;

    }

    a[j+k]=x;

    }

    k/=2; /*缩小间距值*/

    }

    }

    上面我们已经对几种排序法作了介绍,现在让我们写个主函数检验一下。

    #include<stdio.h>

    /*别偷懒,下面的"..."代表函数体,自己加上去哦!*/

    void bubble(int *a,int n)

    {

    ...

    }

    void choise(int *a,int n)

    {

    ...

    }

    void quick(int *a,int i,int j)

    {

    ...

    }

    void insert(int *a,int n)

    {

    ...

    }

    void shell(int *a,int n)

    {

    ...

    }

    /*为了打印方便,我们写一个print吧。*/

    void print(int *a,int n)

    {

    int i;

    for(i=0;i<n;i++)

    printf("%5d",a[i ]);

    printf("\n");

    }

    main()

    { /*为了公平,我们给每个函数定义一个相同数组*/

    int a1[]={13,0,5,8,1,7,21,50,9,2};

    int a2[]={13,0,5,8,1,7,21,50,9,2};

    int a3[]={13,0,5,8,1,7,21,50,9,2};

    int a4[]={13,0,5,8,1,7,21,50,9,2};

    int a5[]={13,0,5,8,1,7,21,50,9,2};

    printf("the original list:");

    print(a1,10);

    printf("according to bubble:");

    bubble(a1,10);

    print(a1,10);

    printf("according to choise:");

    choise(a2,10);

    print(a2,10);

    printf("according to quick:");

    quick(a3,0,9);

    print(a3,10);

    printf("according to insert:");

    insert(a4,10);

    print(a4,10);

    printf("according to shell:");

    shell(a5,10);

    print(a5,10);

    }

     

     

    再补充个堆排序

    堆排序

    1、 堆排序定义
    n个关键字序列Kl,K2,…,Kn称为堆,当且仅当该序列满足如下性质(简称为堆性质):
    (1) ki≤K2i且ki≤K2i+1 或(2)Ki≥K2i且ki≥K2i+1(1≤i≤ )

    若将此序列所存储的向量R[1..n]看做是一棵完全二叉树的存储结构,则堆实质上是满足如下性质的完全二叉树:树中任一非叶结点的关键字均不大于(或不小于)其左右孩子(若存在)结点的关键字。
    【例】关键字序列(10,15,56,25,30,70)和(70,56,30,25,15,10)分别满足堆性质(1)和(2),故它们均是堆,其对应的完全二叉树分别如小根堆示例和大根堆示例所示。

    2、大根堆和小根堆
    根结点(亦称为堆顶)的关键字是堆里所有结点关键字中最小者的堆称为小根堆。
    根结点(亦称为堆顶)的关键字是堆里所有结点关键字中最大者,称为大根堆。
    注意:
    ①堆中任一子树亦是堆。
    ②以上讨论的堆实际上是二叉堆(Binary Heap),类似地可定义k叉堆。

    3、堆排序特点
    堆排序(HeapSort)是一树形选择排序。
    堆排序的特点是:在排序过程中,将R[l..n]看成是一棵完全二叉树的顺序存储结构,利用完全二叉树中双亲结点和孩子结点之间的内在关系【参见二叉树的顺序存储结构】,在当前无序区中选择关键字最大(或最小)的记录。

    4、堆排序与直接插入排序的区别
    直接选择排序中,为了从R[1..n]中选出关键字最小的记录,必须进行n-1次比较,然后在R[2..n]中选出关键字最小的记录,又需要做n-2次比较。事实上,后面的n-2次比较中,有许多比较可能在前面的n-1次比较中已经做过,但由于前一趟排序时未保留这些比较结果,所以后一趟排序时又重复执行了这些比较操作。
    堆排序可通过树形结构保存部分比较结果,可减少比较次数。


    5、堆排序
    堆排序利用了大根堆(或小根堆)堆顶记录的关键字最大(或最小)这一特征,使得在当前无序区中选取最大(或最小)关键字的记录变得简单。

    (1)用大根堆排序的基本思想
    ① 先将初始文件R[1..n]建成一个大根堆,此堆为初始的无序区
    ② 再将关键字最大的记录R[1](即堆顶)和无序区的最后一个记录R[n]交换,由此得到新的无序区R[1..n-1]和有序区R[n],且满足R[1..n-1].keys≤R[n].key
    ③ 由于交换后新的根R[1]可能违反堆性质,故应将当前无序区R[1..n-1]调整为堆。然后再次将R[1..n-1]中关键字最大的记录R[1]和该区间的最后一个记录R[n-1]交换,由此得到新的无序区R[1..n-2]和有序区R[n-1..n],且仍满足关系R[1..n-2].keys≤R[n-1..n].keys,同样要将R[1..n-2]调整为堆。
    ……
    直到无序区只有一个元素为止。

    (2)大根堆排序算法的基本操作:
    ① 初始化操作:将R[1..n]构造为初始堆;
    ② 每一趟排序的基本操作:将当前无序区的堆顶记录R[1]和该区间的最后一个记录交换,然后将新的无序区调整为堆(亦称重建堆)。
    注意:
    ①只需做n-1趟排序,选出较大的n-1个关键字即可以使得文件递增有序。
    ②用小根堆排序与利用大根堆类似,只不过其排序结果是递减有序的。堆排序和直接选择排序相反:在任何时刻,堆排序中无序区总是在有序区之前,且有序区是在原向量的尾部由后往前逐步扩大至整个向量为止。

    (3)堆排序的算法:
    void HeapSort(SeqIAst R)
    { //对R[1..n]进行堆排序,不妨用R[0]做暂存单元
    int i;
    BuildHeap(R); //将R[1-n]建成初始堆
    for(i=n;i>1;i--){ //对当前无序区R[1..i ]进行堆排序,共做n-1趟。
    R[0]=R[1];R[1]=R[ i ];R[i ]=R[0]; //将堆顶和堆中最后一个记录交换
    Heapify(R,1,i-1); //将R[1.. i-1]重新调整为堆,仅有R[1]可能违反堆性质
    } //endfor
    } //HeapSort


    (4) BuildHeap和Heapify函数的实现
    因为构造初始堆必须使用到调整堆的操作,先讨论Heapify的实现。
    ① Heapify函数思想方法
    每趟排序开始前R[l..i]是以R[1]为根的堆,在R[1]与R[i ]交换后,新的无序区R[1..i-1]中只有R[1]的值发生了变化,故除R[1]可能违反堆性质外,其余任何结点为根的子树均是堆。因此,当被调整区间是R[low..high]时,只须调整以R[low]为根的树即可。
    "筛选法"调整堆
    R[low]的左、右子树(若存在)均已是堆,这两棵子树的根R[2low]和R[2low+1]分别是各自子树中关键字最大的结点。若R[low].key不小于这两个孩子结点的关键字,则R[low]未违反堆性质,以R[low]为根的树已是堆,无须调整;否则必须将R[low]和它的两个孩子结点中关键字较大者进行交换,即R[low]与R[large](R[large].key=max(R[2low].key,R[2low+1].key))交换。交换后又可能使结点R[large]违反堆性质,同样由于该结点的两棵子树(若存在)仍然是堆,故可重复上述的调整过程,对以R[large]为根的树进行调整。此过程直至当前被调整的结点已满足堆性质,或者该结点已是叶子为止。上述过程就象过筛子一样,把较小的关键字逐层筛下去,而将较大的关键字逐层选上来。因此,有人将此方法称为"筛选法"。
    具体的算法【参见教材】

    ②BuildHeap的实现
    要将初始文件R[l..n]调整为一个大根堆,就必须将它所对应的完全二叉树中以每一结点为根的子树都调整为堆。
    显然只有一个结点的树是堆,而在完全二叉树中,所有序号 的结点都是叶子,因此以这些结点为根的子树均已是堆。这样,我们只需依次将以序号为 , -1,…,1的结点作为根的子树都调整为堆即可。
    具体算法【参见教材】。

    5、大根堆排序实例
    对于关键字序列(42,13,24,91,23,16,05,88),在建堆过程中完全二叉树及其存储结构的变化情况参见【动画演示】。

    6、 算法分析
    堆排序的时间,主要由建立初始堆和反复重建堆这两部分的时间开销构成,它们均是通过调用Heapify实现的。
    堆排序的最坏时间复杂度为O(nlgn)。堆排序的平均性能较接近于最坏性能。
    由于建初始堆所需的比较次数较多,所以堆排序不适宜于记录数较少的文件。
    堆排序是就地排序,辅助空间为O(1),
    它是不稳定的排序方法。

    展开全文
  • ![图片说明](https://img-ask.csdn.net/upload/201609/22/1474534259_217570.png)
  • C语言数组 排序,删除,查找联合搬算法
  • C语言数组+冒泡排序

    千次阅读 多人点赞 2019-02-03 17:17:58
    C语言数组

    C语言数组+冒泡排序

    一、数组知识点
    在这里插入图片描述
    二、冒泡排序
    从大到小基本思想: 每趟将相邻两个数字依次比较,将大的调到前面,最终每趟会将最小的沉到最后(这也是起名为冒泡的原因,大的向上冒泡,小的向下沉)。如果有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");
    

    在这里插入图片描述

    展开全文
  • C语言数组排序

    千次阅读 2019-03-25 19:56:34
    输入某门课的成绩,按编程将分数从高到低顺序进行排序输出 第一种:采用交换法排序,也称作冒泡排序。 基本过程是先将第一个数分别于后面的数一个一个进行比较,若后面的数小,则交换后面这个数和第一个数的位置,...

    输入某门课的成绩,按编程将分数从高到低顺序进行排序输出

    第一种:采用交换法排序,也称作冒泡排序。
    基本过程是先将第一个数分别于后面的数一个一个进行比较,若后面的数小,则交换后面这个数和第一个数的位置,否则不交换,一轮比较结束后就求出了一个最小值的数放在了第一位。然后进入第二轮比较,即在其余的数中再按此法求出一个最小的数放在第二个数的位置,再第三次……
    n个数比较总共需要n-1轮

    简单实现

    代码片

    //输入待排序的n个数
     for(i=0;i<n-1;i++)
    	{
    		for(j=i+1;j<n;j++)
    		{
    		//小于号从小到大排序,大于号则相反
    			if(score[j]<score[i])
    			{
    			//实现两个数的交换
    				int temp;
    				temp=score[i];
    				score[i]=score[j];
    				score[j]=temp;
    				
    				int temp1;
    				temp=num[i];
    				num[i]=num[j];
    				num[j]=temp;
    			}
    		}
    	}
    

    如何实现两个数的交换呢?
    你可以试想一下一个瓶子里装的是酱油,一个瓶子里装的是醋,想要让这两个瓶子里装的东西换一下,我们是不是需要另外一个空瓶子呢,显然这里也是同样的。变量temp起到了空瓶子的作用,叫做中间变量。

    向函数传递一维数组

    由于实参变量与形参变量间的数据传递方式是“单向值的传递”,即数据只能由实参转向形参,而不能有形参传回实参。所有的实参实际上都是按值传递,就是将函数调用的实参值复制后得到她的一个副本,然后将这个副本传递给被调函数,因此即使被调函数修改了这个副本,但是他不会传值给实参,所以主调函数(带有实参值得函数)的值不会改变。所以要使用指针或引用的方法解决这个问题。
    但在这里只做排序算法,不具体介绍。
    C语言中,不带任何下标的数组名代表数组的首地址,因此采用数组名作为函数参数的格式为
    数组类型 数组名[ ]
    不进行下标边界检查,里面的数字可以不写。只是另函数接受数组的首地址,通过间接寻址访问主调函数的数组元素,编译器只是检查方括号的数组是否大于0,数组为负数则报错。
    同时可以用一个参数传递数组的长度,知道被访问的数组边界在哪,避免缓冲区溢出(数据写到了数组边界之外,引起程序崩溃)

    代码片

    #include <stdio.h>
    void sort(int score[],int num[],int n);//函数声明
    int main()
    {
    	int n,i,j;
    	int num[40];
    	int score[40];
    	printf("请输入学生的人数:");
    	scanf("%d",&n);
    	for(i=0;i<n;i++)
    	{
    		scanf("%d%d",&num[i],&score[i]);	
    	}
    	sort(score,num,n);
    	printf("输出排序结果\n");
    	for(i=0;i<n;i++)
    	{
    		printf("%d\t%d\n",num[i],score[i]);
    	}
    	return 0;	 
     } 
     //函数定义
    void sort(int score[],int num[],int n)
    {
    	int i,j;
    	for(i=0;i<n-1;i++)
    	{
    		for(j=i+1;j<n;j++)
    		{
    			if(score[j]<score[i])
    			{
    				int temp;
    				temp=score[i];
    				score[i]=score[j];
    				score[j]=temp;
    				
    				int temp1;
    				temp=num[i];
    				num[i]=num[j];
    				num[j]=temp;
    			}
    		}
    	}
    }
    

    上述排序效率太低,第i+1个数和后面的数都要一一比较。事实上,我们可以找出余下数的最大值再和第i+1个数交换位置,这样每轮比较最多只有一次交换操作。这种改进算法称为选择法排序。

    代码片

    下面是函数封装的排序

    void sort(int score[],int num[],int n)
    {
    	int i,j,k;
    	for(i=0;i<n-1;i++)
    	{
    		k=i;
    		for(j=i+1;j<n;j++)
    		{
    			if(score[j]>score[k])//按降序排列
    				k=j;
    		}
    		if(k!=i)//若k中记录的最大数序号不是i,即找到的最大数不在i的位置
    			{
    				int temp;
    				temp=score[k];
    				score[k]=score[i];
    				score[i]=temp;
    				
    				int temp1;
    				temp=num[k];
    				num[k]=num[i];
    				num[i]=temp;
    			}
    	}
    }
    

    下一篇介绍C语言查找算法。

    展开全文
  • 数组是到目前为止使用非常多的一个知识点,几乎每个题都要用数组来储存数据。数组有一维数组,二维数组等,要注意数组的下标都是从0开始的,在做题时还要...排序,有交换排序,选择排序,冒泡排序(循环n-1次)。不...
  • c语言数组冒泡排序

    2012-03-07 23:07:02
    使用c语言写的冒泡排序程序,对数组实现,有注释。
  • 初学者想问下数组排序 能每次取最大值然后利用a[i]=a[i+1]除去最大值,再取最大值依次排序吗 这个去最大值应该写在哪 谢谢</p>
  • C语言数组和冒泡排序实例 本实例使用了数组和冒泡排序,并计算出平均分,最后输出未及格人数 #include “stdio.h” #include “string.h” #include “conio.h” #define N 8 int x=0; int main() { int score[]={52...
  • c语言数组选择法排序

    2012-03-07 23:08:30
    使用c语言写的数组选择法排序的程序代码,有详细注释。
  • C语言数组的去重排序

    千次阅读 2018-07-24 09:35:11
    这是一篇关于一组数据去重排序的介绍(C语言版),JAVA还没有学到,争取下次用JAVA写出来! #include&lt;stdio.h&gt; int main() {int i,j,t;  int a[10];  printf("请输入10个数:\n");  ...
  • 通常会遇到将数组中元素排序的问题,那可能会有很多方法去解决这个问题例如冒泡排序,快速排序等等,但是实际上C语言中本身有一个自带的快速排序的函数qsort()。 首先来看一下qsort()函数的定义:qsort(void * base,...
  • C语言数组去重排序(从大到小)

    千次阅读 2018-07-23 16:46:08
    }//冒泡排序  for(i=0;i;i++){  printf("%d",arr[i]);  } //输出 } void main(){  int a[20];  int n,i;  printf("请输入n的值(小于20):");  scanf("%d",&n);  printf("请输入%d个数:",n);  for(i=0;...
  • c语言数组与指针

    千次阅读 2015-11-27 21:15:36
    c语言数组与指针 C语言准备知识 数组和指针 部分实例-排序
  • C语言 数组与冒泡排序

    千次阅读 2015-07-02 17:33:40
    17.数组 ①  在程序设计中,为了处理方便,把具有相同类型的若干变量按有序的形式组织起来。... 在C语言中,数组属于构造数据类型。一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类
  • 数组排序去重:1 #include 2 #include 3 #include 4 using namespace std;5 bool cmp( int a, int b)6 {7 return a < b;8 }9 int main()10 {11 int a[20];12 for( int i = 0; i < 20; i++)13 a[i...
  • C语言数组

    千次阅读 2016-05-15 07:31:02
    1.C语言数组的概念 在《printf函数的高级用法》一节中我们举了一个例子,是输出一个 4×4 的整数矩阵,代码如下: #include #include int main(){ int a1=20, a2=345, a3=700, a4=22; int b1=56720, b2=9999...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 80,029
精华内容 32,011
关键字:

c语言数组排序

c语言 订阅