云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > C语言编程排序系统

C语言编程排序系统

  • 62 次阅读
  • 3 次下载
  • 2025/6/15 11:08:11

#include #include #include #include #define MAXSIZE 30

typedef struct keytype { int key; }KeyType;

typedef struct sqlist { KeyType R[MAXSIZE]; int length; }*SqList,Sq;

int main(); int n=1; SqList L,L1,L2,L3;

int Input(SqList L) { int i=0;int j=0;char ch; printf(\

printf(\请在下面输入待排序整数,整数之间用一个空格隔开,需按回车键结束:\\n\ do{ scanf(\ i++; }while(ch!='\\n'); L->length=i; printf(\初始的待排序列为:\ while(jlength) { printf(\ } printf(\ return 1; }

void PrintfSqList(SqList LL) { int i=0; printf(\排序前数据为:\\n\

while(ilength) { printf(\ } printf(\}

void print(SqList LL) { int i=0; printf(\第%d 趟排序结果为:\ while(ilength) { printf(\ } printf(\}

void finalprint(SqList LL) { int i=0; while(ilength) { printf(\ } printf(\}

void Copy(SqList L,SqList L1,SqList L2,SqList L3) { int i = L->length; L1->length = i; L2->length = i; L3->length = i; for(int i=0;ilength;i++) { L1->R[i].key=L->R[i].key; L2->R[i].key=L->R[i].key; L3->R[i].key=L->R[i].key; } }

void maopao(SqList L1) { int i,j,tmp;

bool exchange;

for(i=0;ilength-1;i++) { exchange = false;

for(j=L1->length-1;j>i;j--) { if(L1->R[j].key < L1->R[j-1].key) { tmp=L1->R[j].key;L1->R[j].key=L1->R[j-1].key; L1->R[j-1].key=tmp; exchange = true; } } if(!exchange) break; print(L1); }

printf(\最终的排序结果为:\ finalprint(L1); n=1; }

void InsertSort(SqList L2) { int i,j; int tmp;

for(i=1;ilength;i++) { tmp = L2->R[i].key; j = i-1; while(j >= 0 && tmp < L2->R[j].key) { L2->R[j+1].key=L2->R[j].key; j--; } L2->R[j+1].key = tmp; print(L2); }

printf(\最终的排序结果为:\ finalprint(L2); n=1; }

void SelectSort(SqList L3)

{ int i,j,k; int tmp;

for(i=0;ilength;i++) { k=i; for(j=i+1;jlength;j++) if(L3->R[j].key < L3->R[k].key) { k = j; } if(k!=i) { tmp = L3->R[i].key; L3->R[i].key = L3->R[k].key; L3->R[k].key = tmp; } if(i==L3->length-2) { print(L3); break; } print(L3); }

printf(\最终的排序结果为:\ finalprint(L3); n=1; }

void menu(SqList L,SqList L1,SqList L2,SqList L3) { printf(\排序方式选择界面*********************\\n\ printf(\冒泡排序 (BubbleSort)-----------------请输入1 \\n\ printf(\直接插入排序 (InsertSort)-----------------请输入2 \\n\ printf(\选择排序 (SelectSort)-----------------请输入3 \\n\ printf(\返回主菜单 (Return mainmenu)------------请输入4 \\n\ printf(\直接退出 (Exit)-----------------------请输入0 \\n\ printf(\ int i; printf(\请输入你想要的排序方式\\n\ scanf(\ while(1) { switch (i)

{ case 1: case 2: case 3: case 4: case 0:

printf(\欢迎使用冒泡排序\\n\PrintfSqList(L); maopao(L1);

menu(L,L1,L2,L3);

break;

printf(\欢迎使用直接插入排序\\n\PrintfSqList(L); InsertSort(L2); menu(L,L1,L2,L3); break;

printf(\欢迎使用选择排序\\n\PrintfSqList(L); SelectSort(L3); menu(L,L1,L2,L3); break; main(); break;

printf(\感谢您的使用\\n\ getch(); exit(0); } } }

int main() { Sq List={{0},0},List1={{0},0},List2={{0},0},List3={{0},0}; SqList L = &List,L1 = &List1,L2 = &List2,L3 = &List3; printf(\ printf(\排序系统主界面***********************\\n\ printf(\欢迎使用本排序系统*********************\\n\ Input(L); Copy(L,L1,L2,L3); menu(L,L1,L2,L3); return 0; }

搜索更多关于: C语言编程排序系统 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

#include #include #include #include #define MAXSIZE 30 typedef struct keytype { int key; }KeyType; typedef struct sqlist { KeyType R[MAXSIZE]; int length; }*SqList,Sq; int main(); int n=1; SqList L,L1,L2,L3; int Input(SqList L) { int i=0;int

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com