c:Bubble Sort

 SortAlgorithm.h

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
/*****************************************************************//**
 * \file   SortAlgorithm.h
 * \brief  业务操作方法
 * VSCODE   c11
 * \author geovindu,Geovin Du
 * \date   2023-09-19
***********************************************************************/
#ifndef SORTALGORITHM_H
#define SORTALGORITHM_H
 
#include <stdio.h>
#include <stdlib.h>
 
 
 
 
/**冒泡排序法 ElementType data[] **/
int* BubbleSort(int* data,int lensize)
{
    int i,j,tmp;
    int* newdate;
    /* 原始数据 */
    //int lensize=sizeof(data) / sizeof(data [0]);//sizeof(data); //sizeof(data) / sizeof(data[0]);//
    printf("2共 長度是:%d ",lensize);
    printf("冒泡排序法:\n原始数据为:");
    for (i=0;i<lensize;i++)
        printf("%3d",data[i]);
    printf("\n");
 
    for (i=(lensize-1);i>=0;i--)     /* 扫描次数 */
    {
        for (j=0;j<i;j++)/*比较、交换次数*/
        {
            if (data[j]>data[j+1])   /* 比较相邻两数,如第一个数较大则交换 */
            {
                tmp=data[j];
                data[j]=data[j+1];
                data[j+1]=tmp;
            }
        }
        printf("第 %d 次排序后的结果是:",lensize-i); /*把各次扫描后的结果打印出来*/
        for (j=0;j<lensize;j++)
            printf("%3d",data[j]);
        printf("\n");
    }
    //printf("最终排序的结果为:");
    for (i=0;i<lensize;i++)
        //newdate[i]=data[i];
        printf("%3d",data[i]);
    printf("\n");
 
    return data;
 
}
 
#endif //SORTALGORITHM_H

  

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
/*****************************************************************//**
 * \file   helloworld.C
 * \brief  业务操作方法
 * VSCODE   c11
 * \author geovindu,Geovin Du
 * \date   2023-09-19
***********************************************************************/
 
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "SortAlgorithm.h"
 
 
 
typedef int ElementType;
int* BubbleSort(int* data,int lensize);
 
 
int main()
{
    ////SetConsoleOutputCP(65001); 
    printf("hello word\n");
    printf("你好,中囯\n");
    int i;
    int *p;   
    char str[20];
 
    int data[12]={60,50,39,27,12,8,45,63,20,2,10,88};   /* 原始数据 */
    int lensize=sizeof(data) / sizeof(data [0]);//sizeof(data);
    p=BubbleSort(data,lensize);
     
    itoa(lensize, str, 10);
    printf("1共長度是 %d ",lensize);
     
    printf("最终排序的结果为:");
    for (i=0;i<lensize;i++)
        printf("%3d",p[i]);
    printf("\n");
    system("pause");
    return 0;
 
 
}

  

 

 

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
 
typedef int ElementType;
int* BubbleSort(int* data,int lensize);
 
 
int main()
{
    ////SetConsoleOutputCP(65001); 
    printf("hello word\n");
    printf("你好,中囯\n");
    int i;
    int *p;   
    char str[20];
 
    int data[12]={60,50,39,27,12,8,45,63,20,2,10,88};   /* 原始数据 */
    int lensize=sizeof(data) / sizeof(data [0]);//sizeof(data);
    p=BubbleSort(data,lensize);
     
    itoa(lensize, str, 10);
    printf("1共 %d 長度是:",lensize);
     
    printf("最终排序的结果为:");
    for (i=0;i<lensize;i++)
        printf("%3d",p[i]);
    printf("\n");
    system("pause");
    return 0;
 
 
}
 
 
/**冒泡排序法 ElementType data[] **/
int* BubbleSort(int* data,int lensize)
{
    int i,j,tmp;
    int* newdate;
    /* 原始数据 */
    //int lensize=sizeof(data) / sizeof(data [0]);//sizeof(data); //sizeof(data) / sizeof(data[0]);//
    printf("2共 %d 長度是:",lensize);
    printf("冒泡排序法:\n原始数据为:");
    for (i=0;i<lensize;i++)
        printf("%3d",data[i]);
    printf("\n");
 
    for (i=(lensize-1);i>=0;i--)     /* 扫描次数 */
    {
        for (j=0;j<i;j++)/*比较、交换次数*/
        {
            if (data[j]>data[j+1])   /* 比较相邻两数,如第一个数较大则交换 */
            {
                tmp=data[j];
                data[j]=data[j+1];
                data[j+1]=tmp;
            }
        }
        printf("第 %d 次排序后的结果是:",lensize-i); /*把各次扫描后的结果打印出来*/
        for (j=0;j<lensize;j++)
            printf("%3d",data[j]);
        printf("\n");
    }
    //printf("最终排序的结果为:");
    for (i=0;i<lensize;i++)
        //newdate[i]=data[i];
        printf("%3d",data[i]);
    printf("\n");
 
    return data;
 
}

  

 

posted @   ®Geovin Du Dream Park™  阅读(7)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
历史上的今天:
2022-09-12 java: Abstract Factory(Kit/ToolKit)
2022-09-12 java:Method Factory(Polymorphic Facotry Pattern/Virtual Constructor Pattern)
2017-09-12 sql script: Graphs, Trees, Hierarchies and Recursive Queries
2016-09-12 csharp:ASP.NET SignalR
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示