精华内容
下载资源
问答
  • C语言写冒泡排序

    2015-10-23 22:37:26
    C语言写冒泡排序 #include void sort(int *a,int len) { int i=0; int j; int t; for(i=0;i;i++) { for(j=0;j;j++) { if(a[j]>a[j+1])

    C语言写冒泡排序

    #include <stdio.h>
    
    void sort(int *a,int len)
    {
        int i=0;
        int j;
        int t;
    
        for(i=0;i<len;i++)
        {
             for(j=0;j<len-i-1;j++)
             {
                 if(a[j]>a[j+1])
                   {
                     t=a[j];
                     a[j]=a[j+1];
                     a[j+1]=t;
                   }
              }
         }
    }
    
    int main()
    {
       int a[10]={-999,2,3,0,-8,99,100,77,12,88};
       printf("排序前数组的元素为:\n");
       int i=0;
       for(i=0;i<10;i++)
       {
           printf("%d ",a[i]);
       }
    
       printf("\n排序后数组的元素为:\n");
       sort(a,10);
       for(i=0;i<10;i++)
       {
           printf("%d ",a[i]);
       }
       return 0;
    }

    /*第二版*/

    #include <stdio.h>
    #include <stdlib.h>
    
    /*实现冒泡排序*/
    int main()
    {
       int array[6] = {13,-2,32,-5,75,21};
    
       int length = sizeof(array) / sizeof(array[0]);
       int n = length;
       int temp;
       int i,j,k = 0;
    
       printf("\n排序前数组的元素为:");
       for(k = 0;k < length;k++)
       {
           printf("%d ",array[k]);
       }
    
        /*第一层循环,执行length-1次*/
        for(i = 1;i < length;i++)
        {
             /*第二层循环,每执行一轮做好一个数组元素的排序*/
             for(j=0;j <= n;j++)
             {
                 if(array[j] > array[j + 1])
                 {
                     temp = array[j];
                     array[j] = array[j + 1];
                     array[j + 1] = temp;
                 }
             }
             n = n - 1;
        }
    
       printf("\n排序后数组的元素为:");
       for(k = 0;k < length;k++)
       {
           printf("%d ",array[k]);
       }
    
        return 0;
    }



    展开全文
  • C语言写冒泡排序

    2017-10-24 22:41:13
    #include #define N 6 main(){ int i,j,t,a[N]; printf("请输入%d个数字:\n", N); for(i=0 ; i scanf("%d",&a[i]); } for( j=0 ; j for( i=0; i  if( a[i] > a[i+1] ) { t = a[i]; a[i] = a[i+1];...
    #include<stdio.h>
    #define N 6
    main(){
    int i,j,t,a[N];
    printf("请输入%d个数字:\n", N);
    for(i=0 ; i< N ; i++){ 
    scanf("%d",&a[i]);
    }
    for( j=0 ; j<5 ; j++ ){
    for( i=0; i<5-j ; i++){
     if( a[i] > a[i+1] ) {
    t = a[i]; a[i] = a[i+1]; a[i+1] = t ;
    }
    }
    }
    for(i=0;i<6;i++){
    printf("%d ",a[i]);
    }
    printf("\n");
    }
    展开全文
  • C语言 冒泡排序 C语言 冒泡排序 C语言 冒泡排序 C语言 冒泡排序 C语言 冒泡排序 C语言 冒泡排序
  • 1冒泡排序 2改进的冒泡排序,在一次冒泡的过程中,如果没有发生交换,则已经有序 3进一步改进的冒泡排序,如果在某次冒泡过程中,最后一次进行交换的位置为flag,则表示flag之后的序列已经有序,那么下一次冒泡就...
  • C语言冒泡排序C语言冒泡排序C语言冒泡排序
  • C语言实现冒泡排序

    万次阅读 2019-03-29 14:53:46
    C语言实现冒泡排序 冒泡排序应该是最常见的排序方法了,非计算机专业的在数学里也应该听过这个方法。 冒泡排序(BubbleSort)的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。 下面就展示如何用...

    C语言实现冒泡排序

    冒泡排序应该是最常见的排序方法了,非计算机专业的在数学里也应该听过这个方法。
    冒泡排序(BubbleSort)的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。
    下面就展示如何用C语言实现冒泡排序。

    第一种

    #include<stdio.h>
    #include<stdlib.h>
    int main()
    {
    	int a[10] = { 5,12,3,23,1,6,7,66,20,9 };
    	int t = 0;
    	for (int i = 0; i < 9; i++)   //注意这里只需要i<9,因为每次是两个数作比较,只需要循环9次
    	{
    		for (int j = 0; j < 10-1-i ; j++)  //每执行一次循环把最大的数放在最后,就会少一个数参与比较
    		{
    			//如果前面的变量大于后面的,交换位置
    			if (a[j] > a[j + 1])
    			{
    				t = a[j];     //用中间变量交换数组两个位置的值
    				a[j] = a[j + 1];
    				a[j + 1] = t;
    			}
    		}
    	}
    
    	//按从小到大顺序输出数组
    	for (int q = 0; q < 10; q++)
    	{
    		printf("%d\n", a[q]);
    	}
    
    	system("pause");
    	return 0;
    
    }
    

    第二种

    #include<stdio.h>
    #include<stdlib.h>
    int main()
    {
    	int a[10] = { 5,12,3,23,1,6,7,66,20,9 };
    	for (int i = 0; i < 9; i++)     //这里i<9的原因同上
    	{
    		int t = i;
    		for (int j = i + 1; j < 10; j++) //j从i+1开始,因为这次的方法是把最小的放在前面,循环一次找到最小数后,找出的数就不再参与下一次循环
    		{
    			if (a[t] > a[j])   //循环一遍找到最小数的数组下标
    			{
    				t = j;
    			}
    		}
    		if (i != t)   //如果下标与循环初始不一样,交换
    		{
    			int temp = a[i];
    			a[i] = a[t];
    			a[t] = temp;
    		}
    	}
    	for (int q = 0; q < 10; q++)
    	{
    		printf("%d\n", a[q]);
    	}
    	system("pause");
    	return 0;
    }
    

    下面与上一个思想是一样的,只是输出没有另外建一个循环,并且多了一次无意义的比较

    #include<stdio.h>
    #include<stdlib.h>
    int main()
    {
    	int a[10] = { 5,12,3,23,1,6,7,66,20,9 };
    	int t = 0;
    	for (int i = 0; i <=9; i++)
    	{
    		for (int j = i + 1; j <= 9; j++)
    		{
    			if (a[i] > a[j])
    			{
    				t = a[i];
    				a[i] = a[j];
    				a[j] = t;
    			}
    		}
    		printf("%d ", a[i]);
    	}
    	system("pause");
    	return 0;
    }
    
    展开全文
  • c语言冒泡排序和折半查找c语言冒泡排序和折半查找c语言冒泡排序和折半查找c语言冒泡排序和折半查找c语言冒泡排序和折半查找c语言冒泡排序和折半查找c语言冒泡排序和折半查找c语言冒泡排序和折半查找...
  • 给一个简单的数组冒泡排序算法和程序c语言链表冒泡排序,注释应具体。不要在别处粘贴代码过来。我想实习的是交换的是它们的指针域也就是每个节点而不是结点后面的数据。C/C++ codestruct Node{int data;struct ...

    ef51c0f380615533401969f5c2f3a35f.png

    给一个简单的数组冒泡排序算法和程序c语言链表冒泡排序,注释应写具体。不要在别处粘贴代码过来。我想实习的是交换的是它们的指针域也就是每个节点而不是结点后面的数据。

    C/C++ code

    8de716c77aa003f164b6fb1791bd377a.png

    struct Node

    {

    int data;

    struct Node * pNext;

    };

    假设里面已经定义好了节点,也生成了一个链表出来了(带有头结点的),现在他们即使帮我排序的代码跟算法要写具体。

    ------解决方案--------------------

    c5b9642cf2bf0cd195ff1fd956c029d4.png

    你还不如在网上搜一下源码快!

    ------解决方案--------------------

    在那些帖子里早已回答了

    50af78e18659b79d5a213449406e90b3.png

    那代码也需要是可以的,你只必须顺序就把排序的部分取起来

    可以直接用的

    ------解决方案--------------------

    5b26e0369ca13289125a46347a609577.png

    C/C++ code

    /**功能:求链表长度(头结点不计算)*参数:链表首地址*返回值:链表结点数*/int length(linklist head){int len = 0;if(head == NULL)return 0;head = head->next;while(head != NULL){++len;head = head->next;}return len;}/**功能:判断两个结点的数据大小*参数:两个结点的地址*返回值:firstNode中数据大于secondNode中数据返回1*firstNode中数据等于secondNode中数据返回0*firstNode中数据小于secondNode中数据返回-1*/int nodeCompare(linklist firstNode, linklist secondNode){if(firstNode->data > secondNode->data)return 1;else if(firstNode->data == secondNode->data)return 0;else if(firstNode->data < secondNode->data)return -1;return -2;}/**功能:链表排序(带头结点)*参数:链表首地址**/void listSort(linklist head){linklist pre, mid, tai;int i, j;int len = length(head);if(head == NULL || head->next == NULL)return;for(i = 0; i < len - 1; ++i){pre = head;mid = head->next;tai = mid->next;for(j = 0; j < len - i - 1; ++j){if(nodeCompare(mid, tai) == 1){pre->next = mid->next;mid->next = tai->next;tai->next = mid;}pre = pre->next;mid = pre->next;tai = mid->next;}}}

    ------解决方案--------------------

    C/C++ code

    void listSort(linklist head){linklist pre, mid, tai;int i, j;int len = length(head);if(head == NULL || head->next == NULL)return;for(i = 0; i < len - 1; ++i){//每次排序都是从头结点开始,共len次pre = head; //记录前一个节点mid = head->next;//记录中间节点tai = mid->next;//记录尾节点for(j = 0; j < len - i - 1; ++j){if(nodeCompare(mid, tai) == 1){//如果成立pre->next = mid->next;//将pre后面的两个节点交换位置mid->next = tai->next;//即pre的next的指向他的下下个节点,tai->next = mid;//他的下节点成为他的下下节点c语言链表冒泡排序,其他不变}pre = pre->next;//循环遍历后面的结点mid = pre->next;tai = mid->next;}}}

    本文来自电脑杂谈,转载请注明本文网址:

    http://www.pc-fly.com/a/jisuanjixue/article-137386-1.html

    展开全文
  • 本篇文章是对使用c语言实现冒泡排序,选择排序,快速排序的代码进行了详细的分析介绍,需要的朋友参考下
  • 主要介绍了C语言冒泡排序和快速排序算法使用实例,示例题目也是ACM练习当中的基础习题,需要的朋友可以参考下
  • c语言实现冒泡排序

    2015-05-19 17:29:51
    c语言实现冒泡排序
  • c语言冒泡排序

    2015-12-20 10:32:15
    c语言的一道习题,主要是c语言中的冒泡排序法的源代码
  • c语言-冒泡排序

    2018-08-22 11:04:04
    C语言实践训练-冒泡排序swf动画 用冒泡法对10个学生的C语言成绩由高到低进行排序,并输出最高分和最低分。
  • c语言实现插入排序、冒泡排序、选择排序、快速排序、堆排序、归并排序、希尔排序示例,需要的朋友可以参考下
  • C语言-冒泡排序

    万次阅读 多人点赞 2021-03-05 19:48:00
    冒泡排序 基本思路: 从第一个元素开始比较相邻的两个元素,如果第一个比第一个大或小,就互换它们的位置,这样先比较完一次,然后抛弃最大或最小的继续比较,直到排序完成。 #include <stdio.h> int main() {...
  • c语言数组冒泡排序

    2012-03-07 23:07:02
    使用c语言写冒泡排序程序,对数组实现,有注释。
  • c语言实现冒泡排序

    2021-03-29 11:12:04
    c语言实现冒泡排序,自己记录方便复习。
  • C语言冒泡排序及选择排序
  • 冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是...
  • C语言代码实现冒泡排序,快速排序,希尔排序,归并排序,该代码可用gcc编译器直接编译运行,经测试,结果正确。
  • C语言冒泡排序算法

    2017-06-25 14:03:03
    C语言冒泡排序算法文章链接知识点 冒泡排序的概念; 冒泡排序的解题思路; 冒泡排序的代码实现; 概述冒泡排序:一句话来说,就是大的数据往左边(高位)靠拢,而小的数据则往右边(低位)。最后的顺序就是数分别是从...
  • C语言冒泡排序

    2020-12-29 01:55:20
    C语言冒泡排序 #include <stdio.h> #define N 5//宏定义 int a[N] = { 5,4,3,2,1 };//倒序时间复杂度最高 void swap(int *a, int *b); int BubSort_test(); int main() { int cnt; cnt = BubSort_test()...
  • C语言编写冒泡排序

    2011-06-15 22:20:31
    C语言描述冒泡排序,对一组数据或记录进行由小到大的排序
  • c语言冒泡排序

    2020-11-01 15:37:17
    这里目录标题排序算法冒泡排序 排序算法 冒泡排序 理解算法的方法
  • C语言冒泡排序

    千次阅读 2020-11-30 19:48:17
    C语言排序算法-冒泡排序 从键盘输入的10个整数按从小到大的顺序排序后输出 #include<stdio.h> void main() { int n[10] = { 25,35,68,79,21,13,98,7,16,62 };//定义一个大小为10的数组 int i, j, temp; ...
  • C语言基础 冒泡排序

    2017-03-16 22:00:22
    /*C语言基础 冒泡排序*/ /*2016.11*/ /*lubaby*/ #include main(){ int a[7]={12,15,31,81,31,2,18}; int i=0,j=0; int l=sizeof(a)/sizeof(a[0]); int c=1; for(i=0;i;i++){ c=0

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 26,862
精华内容 10,744
关键字:

c语言写冒泡排序

c语言 订阅