#include <iostream>
using namespace std;
#define MAXSIZE 100 //顺序表的最大长度
typedef struct
{
int key;
char *otherinfo;
}ElemType;
//顺序表的存储结构
typedef struct
{
ElemType *r; //存储空间的基地址
int length; //顺序表长度
}SqList; //顺序表类型
// SelectSort
void BubbleSort(SqList L)
{
//对顺序表L做冒泡排序
int m,j,flag;
ElemType t;
m=L.length-1; flag=1; //flag用来标记某一趟排序是否发生交换
while((m>0)&&(flag==1))
{
flag=0; //flag置为0,如果本趟排序没有发生交换,则不会执行下一趟排序
for(j=1;j<=m;j++)
if(L.r[j].key>L.r[j+1].key)
{
flag=1; //flag置为1,表示本趟排序发生了交换
t=L.r[j];L.r[j]=L.r[j+1];L.r[j+1]=t; //交换前后两个记录
} //if
--m;
} //while
} //BubbleSort
void SelectSort(SqList L)
{
//对顺序表L做简单选择排序
int i,j,k;
ElemType t;
for(i=1;i<L.leng
数据结构顺序表实现冒泡排序,简单选择,直接插入,快速排序。
最新推荐文章于 2022-10-27 15:52:53 发布
本文介绍了如何使用C语言实现顺序表上的冒泡排序、简单选择排序、直接插入排序和快速排序。内容来源于《人民邮电出版社数据结构C语言版》,经过楼主的整合和调试。
摘要由CSDN通过智能技术生成