C语言直接选择排序
来源:互联网 发布:网络打鱼赌钱游戏微信 编辑:程序博客网 时间:2024/05/18 17:57
//
// main.c
// 0518test
//
// Created by czc on 2017/5/18.
// Copyright © 2017年 czc. All rights reserved.
//
#include <stdio.h>
#define maxsize 100
typedef int datatype;
typedef struct {
datatype key;
}recodetype;
typedef struct {
recodetype r[maxsize+1];
int length;
}table;
//输入
void input(table *tab){
int i=1;
while (1) {
scanf("%d",&tab->r[i].key);
i++;
if (getchar()=='\n') {
break;
}
}
tab->length = i-1;
}
//输出
void output(table tab){
int i;
for (i=1; i<=tab.length; i++) {
printf("%d",tab.r[i].key);
}
printf("\n");
}
//直接选择排序
void zjxsort(table *tab){
int i,j,k;
//从第一个元素开始遍历
for (i=1; i<=tab->length; i++) {
k = i;//记录当前最小元素位置
//向右边去查找最小的元素
for (j=i+1; j<=tab->length; j++) {
if (tab->r[j].key <tab->r[k].key) {
k = j;//k始终记录最小值
}
}
//最小值不是第一个元素,交换
if(k!=i){
tab->r[0] = tab->r[i];
tab->r[i] = tab->r[k];
tab->r[k] = tab->r[0];
}
}
}
int main(int argc,const char * argv[]) {
// insert code here...
table tab;
input(&tab);//输入
output(tab);//输出
zjxsort(&tab);//排序
output(tab);//输出
return0;
}
- C语言直接选择排序
- C 直接选择排序
- 直接选择排序 C代码
- C语言 冒泡排序 快速排序 直接插入排序 选择排序
- C语言程序----排序(直接插入排序,SHELL排序,冒泡排序,快速排序,简单选择排序,堆排序)
- C语言选择排序
- c语言选择排序
- c语言选择排序
- C语言---选择排序
- C语言 选择排序
- c语言选择排序
- 【C语言】选择排序
- C语言:选择排序
- C语言 选择排序
- C语言选择排序
- c语言选择排序
- C语言------选择排序
- 选择排序(C语言)
- android面试题-为什么service里面startActivity抛异常?activity不会
- 18. 4Sum
- 多重背包O(VN)算法——单调队列优化
- windows下使用MinGW+msys编译ffmpeg
- 字符串切割strtok+整行输入+vector存储char*
- C语言直接选择排序
- memcpy 的使用方法即指针的应用
- Spring IOC和AOP 原理彻底搞懂
- 开发文档之Kotlin语言
- 带你解锁蓝牙skill(一)
- 计算机网络漫谈之OSI七层模型和TCP/IP四层模型
- 网站如何定位用户省份?
- oracle中常用函数大全
- 使用Spring特性实现接口多实现类的动态调用