栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言实现数字及字符串选择排序

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言实现数字及字符串选择排序

一、选择排序思路:
1.1 例如从小到大排序

1.1.1 开始设定最小值下标为i;

1.1.2 从j=i+1的位置起寻找真实最小值下标;

1.1.3 判断设定最小值下标i对应元素是否为最小,若不是则更新最小值下标;

1.1.4 判断真实最小值下标是否与最初设定的最小值下标i相同,若不同交换元素,相同不做更改。

二、实现代码

1.选择排序代码(数字)

#define _CRT_SECURE_NO_WARNINGS
#include 
#include 
#include 


void Print01(int arr[], int len)
{
	for (int i = 0; i < len; i++)
	{
		printf("%d ", arr[i]);
	}
	printf("n");
}


void Selectsort01(int arr[], int len)
{
	int i = 0;
	for (i = 0; i < len; i++)
	{
		int min = i;//设定最小值下标
		for (int j = i + 1; j < len; j++)
		{
			//判断设定最小值下标对应元素是否为最小
			if (arr[min] > arr[j])
			{
				//更新真实最小值下标
				min = j;
			}
		}
		//判断真实最小值下标是否与最初设定的i相同,若不同交换元素,相同不做更改
		if (i != min)
		{
			int temp = arr[i];
			arr[i] = arr[min];
			arr[min] = temp;
		}
	}
}


void test01()
{
	int arr[5] = { 5,2,1,4,3 };
	int len = sizeof(arr) / sizeof(arr[0]);

	Selectsort01(arr, len);//选择排序

	Print01(arr, len);//打印
}



int main()
{
	test01();

	system("pause");
	return 0;
}

2.选择排序代码(字符串)

注意strcmp函数的使用

int strcmp( const char *string1, const char *string2 );

 具体代码:

#define _CRT_SECURE_NO_WARNINGS
#include 
#include 
#include 


void Print02(char** parray, int len)
{

	for (int i = 0; i < len; i++)
	{
		printf("%s ", parray[i]);
	}
	printf("n");
}


void Selectsort02(char* parray[],int len)
{
	int i = 0;
	for (i = 0; i < len; i++)
	{
		int min = i;
		for (int j = i + 1;j< len; j++)
		{
			if(strcmp(parray[min], parray[j]) > 0)
			{
				min = j;
			}
		}
		if (i != min)
		{
			char* temp = parray[i];
			parray[i] = parray[min];
			parray[min] = temp;
		}
	}
}



void test02()
{
	char* parray[] = { "aaa","eee","ddd","ccc","bbb" };
	int len = sizeof(parray) / sizeof(char*);

	Selectsort02(parray, len);

	Print02(parray, len);
}


int main()
{
	test02();

	system("pause");
	return 0;
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/853947.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号