养老院网站建设方案,wap网站建设好不好,接单网app下载安装,做学校和企业对接的网站目录
前言
已完成内容
选择排序实现
01-开发环境
02-文件布局
03-代码
01-主函数
02-头文件
03-PSeqListFunction.cpp
04-SortCommon.cpp
05-SortFunction.cpp
结语 前言 此专栏包含408考研数据结构全部内容#xff0c;除其中使用到C引用外#xff0c;全为C语言代…目录
前言
已完成内容
选择排序实现
01-开发环境
02-文件布局
03-代码
01-主函数
02-头文件
03-PSeqListFunction.cpp
04-SortCommon.cpp
05-SortFunction.cpp
结语 前言 此专栏包含408考研数据结构全部内容除其中使用到C引用外全为C语言代码。使用C引用主要是为了简化指针的使用避免二重指针的出现。
已完成内容
[数据结构]01-顺序表C语言实现_Chandni.的博客-CSDN博客
[数据结构]02-单链表C语言实现_Chandni.的博客-CSDN博客
[数据结构]03-栈C语言实现_Chandni.的博客-CSDN博客
[数据结构]04-循环队列数组C语言实现_Chandni.的博客-CSDN博客
[数据结构]05-循环队列链表C语言实现_Chandni.的博客-CSDN博客
[数据结构]06-队列链表带头结点C语言实现_Chandni.的博客-CSDN博客
[数据结构]07-二叉树无头结点C语言实现_Chandni.的博客-CSDN博客
[数据结构]08-顺序查找顺序表指针实现形式C语言实现_Chandni.的博客-CSDN博客
[数据结构]09-二分查找顺序表指针实现形式C语言实现_Chandni.的博客-CSDN博客
[数据结构]10-二叉排序树无头结点C语言实现_Chandni.的博客-CSDN博客
[数据结构]11-冒泡排序顺序表指针实现形式C语言实现_Chandni.的博客-CSDN博客 [数据结构]12-快速排序顺序表指针实现形式C语言实现_Chandni.的博客-CSDN博客
[数据结构]13-插入排序顺序表指针实现形式C语言实现_Chandni.的博客-CSDN博客
选择排序实现
01-开发环境 语言C/C14 编译器MinGW64 集成开发环境CLion2022.1.3
02-文件布局 请在CLion集成开发环境中创建C可执行程序否则无法运行原因上面已解释。
03-代码
01-主函数 用于测试选择排序。 // 顺序表以指针形式实现(申请堆空间可动态控制顺序表大小)--数组实现形式不可以动态控制顺序表大小
#include ./Head/PSeqSearchData.h
#include ./Source/PSeqListFunction.cpp
#include ./Source/SortCommon.cpp
#include ./Source/SortFunction.cppint main() {// 顺序表初始化PSeqList PSL;PSeqListCreate(PSL, 10);PSeqListPrint(PSL);// 调试内容
// int Array[] {2, 3, 1, 5, 1, 10};memcpy(PSL.data, Array, sizeof(Array));
// PSL.data Array;
// PSL.ListLength 6;// 选择排序SelectionSort(PSL.data, PSL.ListLength);PSeqListPrint(PSL);return 0;
}02-头文件 用于存储结构体和常量等。 //
// Created by 24955 on 2023-03-02.
// 顺序表以指针形式实现(申请堆空间可动态控制顺序表大小)-数组实现形式不可以动态控制顺序表大小
//#ifndef INC_01_SEQUENCESEARCH_PSEQSEARCHDATA_H
#define INC_01_SEQUENCESEARCH_PSEQSEARCHDATA_H
// 头文件
#include stdio.h
#include stdlib.h
#include string.h
#include time.h// 常量
typedef int ElemType;// 结构体
// 顺序表结构体(以指针形式实现)
typedef struct {ElemType *data;int ListLength;
}PSeqList;
#endif //INC_01_SEQUENCESEARCH_PSEQSEARCHDATA_H03-PSeqListFunction.cpp 用于存储顺序表初始化和打印输出等函数。 //
// Created by 24955 on 2023-03-02.
// 顺序表以指针形式实现(申请堆空间可动态控制顺序表大小)--数组实现形式不可以动态控制顺序表大小
// 不使用哨兵
//
// 顺序表初始化
void PSeqListCreate(PSeqList PSList, int Length) {/** 1. 为顺序表申请堆空间* 2. 根据Length大小设置顺序表长度* 3. 随机数初始化顺序表*/PSList.ListLength Length;PSList.data (ElemType *) malloc((PSList.ListLength) * sizeof(ElemType));srand(time(NULL));for (int i 0; i PSList.ListLength; i) {PSList.data[i] rand() % 100;}
}// 顺序表打印输出
void PSeqListPrint(PSeqList PSList) {/** 1. 0号元素为哨兵因此从1号元素开始打印输出*/for (int i 0; i PSList.ListLength; i) {printf(%3d, PSList.data[i]);}printf(\n);
} 04-SortCommon.cpp 用于存储排序公用函数。 //
// Created by 24955 on 2023-03-06.
//
// 交换两值元素
void Swap(ElemType ElemOne, ElemType ElemTwo) {/** 1. 交换两元素值*/ElemType TemporaryData;TemporaryData ElemOne;ElemOne ElemTwo;ElemTwo TemporaryData;
} 05-SortFunction.cpp 用于存储选择排序函数。 //
// Created by 24955 on 2023-03-06.
// 选择排序时间复杂度O(n^2)空间复杂度O(1)
//
// 选择排序
void SelectionSort(ElemType *Data, int Length) {/** 1. 外层循环控制要排序元素位置* 2. 内层循环控制查找后续最小元素下标* 3. 将两者进行交换*/for (int i 0; i Length; i) {// 标记最小元素下标int MinPos i;// 寻找最小元素下标for (int j i 1; j Length; j) {if (Data[j] Data[MinPos]) {MinPos j;}}// 交换Swap(Data[MinPos], Data[i]);}
} 结语 此博客主要用于408考研数据结构C语言实现记录内有不足可留言可讨论。