`
rafale35
  • 浏览: 20593 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

C语言_冒泡排序(指针)

阅读更多

一纬数组

#include "stdio.h"
void main()
{
	int i,a[10]={9,4,6,2,7,0,1,5,3,8};
	sort(a+1,10);
    for(i =0;i<=9;i++)
    {
    	printf("%3d",*(a+i));	
    }
}
sort(p,n)
int *p,n;
{
	int i,t,*pj;
	for(i=1;i<n;i++)
	{
		for(pj= p+n-1;pj>p+i-1;pj--)
		{
			if(*(pj-1)>*pj)
			{
				t=*pj;
				*pj=*(pj-1);
				*(pj-1)=t;
			}
		}		
	}
	
}

 

二维数组

 

#include "stdio.h"
void main()
{
	int i,j,a[2][10]={{9,4,6,2,7,0,1,5,3,8},{9,4,6,2,7,0,1,5,3,8}};
	printf("Befort sort :\n");
	for(i = 0;i<2;i++)
    {
    	for(j=0;j<10;j++)
    	{
    		printf("%3d",a[i][j]);
    	}
    	printf("\n");
    }
    /*这里这儿 *(a+1)就是访问第二行 */
	sort(*(a+1),10);
	printf("\nAfter sort :\n");
	for(i =0;i<=1;i++)
    {
    	for(j=0;j<10;j++)
    	{
    		printf("%3d",*(*(a+i)+j));
    	}
    	printf("\n");
    }
    
}
sort(p,n)
int *p,n;
{
	int i,t,*pj;
	for(i=1;i<n;i++)
	{
		for(pj= p+n-1;pj>p+i-1;pj--)
		{
			if(*(pj-1)>*pj)
			{
				t=*pj;
				*pj=*(pj-1);
				*(pj-1)=t;
			}
		}		
	}
	
}

 

 

 

分享到:
评论

相关推荐

    冒泡排序和选择排序_C语言_冒泡排序_选择排序_

    总的来说,冒泡排序和选择排序都是基础且实用的排序算法,尽管它们的时间复杂度为O(n^2),在处理大量数据时效率较低,但对于理解排序算法的基本思想和C语言中的指针操作具有重要意义。在实际开发中,更高效的排序...

    冒泡排序优化算法_C语言_冒泡排序法_优化算法_

    在C语言中,冒泡排序的实现通常涉及到指针操作和循环控制。 传统的冒泡排序算法时间复杂度为O(n^2),其中n是待排序序列的长度。这种效率在数据量较大的情况下显得较低。为了优化冒泡排序,我们可以引入两个关键策略...

    C语言编程 排序_C语言_排序比较

    在C语言中,排序通常涉及冒泡排序、选择排序、插入排序、快速排序、归并排序等多种算法。每种算法都有其独特的优缺点,适用于不同的场景。 1. **冒泡排序**:是最基础的排序算法,通过不断交换相邻的逆序元素使数组...

    c语言数组冒泡排序

    下面将详细解释冒泡排序的工作流程以及如何用C语言编写冒泡排序程序。** ### 冒泡排序算法的基本步骤 1. **初始化**:设定一个n长度的数组,n为待排序元素的数量。 2. **外层循环**:进行n-1次遍历,因为每次遍历...

    C语言排序算法---冒泡排序法

    在C语言中,冒泡排序通常包含以下几个关键步骤: 1. **初始化**: 首先,定义一个数组并填充需要排序的数据。例如,可以创建一个整型数组`int arr[N]`,其中`N`是数组的长度。 2. **外层循环**: 对于数组中的每一个...

    C语言之冒泡排序详细讲解

    最简单的,我看网上的有点不清晰,自己就做出来,存到这里,电脑就不用存了,可以当储存的地方放了

    code4_冒泡排序_

    以上就是关于“code4_冒泡排序_”这个主题的主要知识点,通过理解和掌握这些内容,你可以编写出正确的C语言冒泡排序程序,并理解其实现原理和效率分析。在实际编程中,还可以尝试其他优化策略,提升冒泡排序的效率。

    maopaopaixu.zip_冒泡排序c

    以下是一个简单的C语言冒泡排序函数示例: ```c #include void bubbleSort(int arr[], int n) { int i, j, swapped; for (i = 0; i ; i++) { // 外层循环 swapped = 0; // 初始化交换标志 for (j = 0; j ; j+...

    c_2.rar_C语言_C语言 课件_c ppt_c语言程序设计课件_课件 dsp

    查找和排序是算法基础中的重要部分,课程可能讲解了各种常见的查找算法(如线性查找、二分查找)和排序算法(如冒泡排序、快速排序),并结合C语言进行了实现。 6. 非线性结构及数据结构应用举例 - 第13讲:非...

    maopao.zip_goose9dd_冒泡排序_结构体信息

    在本例中,"maopao.zip_goose9dd_冒泡排序_结构体信息" 的主题是使用C语言实现对结构体信息的冒泡排序。下面我们将详细探讨这一主题。 首先,结构体在C语言中是一种复合数据类型,它允许我们把不同类型的数据组合在...

    C语言-冒泡排序附代码

    在C语言中,冒泡排序可以通过编写相应的函数实现。本教程将深入探讨冒泡排序的工作原理、C语言实现及其优化方法。 一、冒泡排序原理 冒泡排序的核心思想是通过反复遍历待排序的数组,比较相邻元素并根据需要交换...

    044 冒泡排序 C语言 冒泡排序 C语言

    在C语言中,我们通常会用到指针和循环来实现冒泡排序。 冒泡排序的基本思想是重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,...

    C语言编程_C语言_c#读写文件_

    在冒泡排序中,通过比较并交换指针所指向的元素,可以实现对结构体数组的排序。 至于标签中的“c#读写文件”,虽然不在C语言范畴内,但值得一提的是,C#是微软开发的一种面向对象的编程语言,同样支持文件操作。C#...

    summer_C语言_源码.zip

    7. **算法**:排序算法(如冒泡排序、快速排序)、查找算法(如线性搜索、二分查找)等基础算法的C语言实现。 8. **错误处理**:如何使用errno和perror来处理运行时错误。 9. **结构体和联合**:自定义数据类型的...

    数据结构C语言版第一章课件严蔚敏_数据结构C语言_

    总结来说,"数据结构C语言版第一章课件严蔚敏"涵盖了数据结构的基础概念,尤其是C语言实现的排序算法,如冒泡排序和快速排序。学习这部分内容对于理解和应用计算机科学中的数据处理至关重要。通过深入研究这些知识点...

    15_C语言_

    9. **排序算法**:可能需要对学生成绩进行排序,如按总分或单科成绩排序,这就需要了解并实现至少一种排序算法,如冒泡排序、选择排序、插入排序或快速排序。 10. **结构化编程**:遵循良好的编程规范,如使用函数...

    c语言实现 通过指针调用函数的形式 实现冒泡排序

    c语言实现 通过指针调用函数的形式 实现冒泡排序

    [PTA C语言]冒泡法排序

    下面是一个简单的C语言冒泡排序代码示例: ```c #include void bubbleSort(int arr[], int n) { int i, j, temp, swapped; for (i = 0; i ; i++) { // 外层循环控制轮数 swapped = 0; for (j = 0; j ; j++) {...

Global site tag (gtag.js) - Google Analytics