博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据结构-冒泡排序和直接插入排序
阅读量:5312 次
发布时间:2019-06-14

本文共 2007 字,大约阅读时间需要 6 分钟。

本文内容

  • 通用数据结构
  • 直接插入排序
  • 冒泡排序
  • Main 函数
  • 运行结果

 

本文用 CodeBlock 编写。同时也提供 VS C 和 VS C# 代码。

 

通用数据结构

  • MyElement.h
#ifndef MYELEMENT_H_INCLUDED
#define MYELEMENT_H_INCLUDED
 
#define LT(a,b) ((a)<(b))
 
#define TRUE 1
#define FALSE 0
typedef int Status;
 
typedef int ElementType;
 
void Print(ElementType e[], int n);
 
#endif // MYELEMENT_H_INCLUDED

  • MyElement.c
#include 
#include "MyElement.h"
 
void Print(ElementType e[], int n)
{
int i;
for(i=0; i
printf("%d ",e[i]);
printf("\n");
}

 

直接插入排序

  • InsertSort.h
#ifndef INSERTSORT_H_INCLUDED
#define INSERTSORT_H_INCLUDED
 
#include "MyElement.h"
 
void InsertSort(ElementType e[], int n);
void Main_InsertSort();
 
#endif // INSERTSORT_H_INCLUDED
  • InsertSort.c
#include 
#include "MyElement.h"
#include "InsertSort.h"
 
#define N 11
 
void InsertSort(ElementType a[], int n)
{
int i,j;
for(i=2; i<=n-1; ++i)
if (LT(a[i],a[i-1]))
{
a[0] = a[i];
for(j=i-1; LT(a[0],a[j]); --j)
a[j+1] = a[j];
a[j+1] = a[0];
}
}
 
void Main_InsertSort()
{
ElementType e[N] = {0,49,38,65,97,76,13,27,49,55,10};
printf("Before InsertSort:\n");
Print(e,N);
InsertSort(e,N);
printf(" After InsertSort:\n");
Print(e,N);
}

 

冒泡排序

  • BubbleSort.h
#ifndef BUBBLESORT_H_INCLUDED
#define BUBBLESORT_H_INCLUDED
 
#include "MyElement.h"
 
void BubbleSort(ElementType e[], int n);
void Main_BubbleSort();
 
#endif // BUBBLESORT_H_INCLUDED
  • BubbleSort.c
#include 
#include "MyElement.h"
#include "BubbleSort.h"
 
#define N 10
 
void BubbleSort(ElementType a[], int n)
{
int i,j,t;
Status change;
for(i=n-1,change=TRUE; i>0 && change; --i)
{
change=FALSE;
for(j=0; j
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
change=TRUE;
}
}
}
 
void Main_BubbleSort()
{
int d[N]= {50,38,65,97,76,13,27,49,55,4};
printf("Before BubbleSort:\n");
Print(d, N);
BubbleSort(d, N);
printf(" After BubbleSort:\n");
Print(d,N);
}

参看。

Main 函数

#include "BubbleSort.h"
#include "InsertSort.h"
 
int main()
{
Main_InsertSort();
Main_BubbleSort();
}

 

运行结果

 o_%E5%8E%9F%E5%88%9B.jpg

转载于:https://www.cnblogs.com/liuning8023/archive/2011/12/07/2279898.html

你可能感兴趣的文章
Fixed DC-DC Regulator Output Uses A Digitally Controlled Potentiometer
查看>>
CAN Timing Sample Point
查看>>
Android图像处理之Bitmap类
查看>>
[KOJ6024]合并果子·改(强化版)
查看>>
[BZOJ3238][Ahoi2013]差异
查看>>
[codevs2185]最长公共上升子序列
查看>>
Spring+Struts+Hibernate 简介(转)
查看>>
动词短语搭配 (转)
查看>>
认识Android Service
查看>>
关于最近用过的一些类
查看>>
用Android模拟器也可以开发和测试NFC应用
查看>>
OpenCV属性页配置问题~
查看>>
Fragment
查看>>
js的另一个机制: cookie
查看>>
【数字图像处理】直方图均衡化
查看>>
mysql之锁、存储引擎和用户账户管理
查看>>
redis之微博共同关注-----集合交集
查看>>
(转)iOS App 自定义 URL Scheme 设计
查看>>
第七周学习总结
查看>>
jQuery快速入门
查看>>