算法 选择排序-C语言关于选择排序法的问题

问题描述

C语言关于选择排序法的问题

#include"stdio.h"
#define?N?10
int?main()?
{
int?i,j,min,tem,a[N];?
for(i=0;i
????scanf("%d",&a[i]);
for(i=0;i
{
????min=i;?
????for(j=i+1;j
?????????if(a[min]>a[j])?
?????????min=j;?
????tem=a[i];?
????a[i]=a[min];?
????a[min]=tem;
?}?
?for(i=0;i<N;i++)?
printf("%5d",a[i]);
retuen?0;
?}?
代码用手机匆忙打的,可能有些错误,不要在意那些细节,我主要是想问一下把代码:
?????tem=a[i];?
????a[i]=a[min];?
????a[min]=tem;
修改成代码:
????tem=a[min];?
????a[min]=a[i];?
????a[i]=tem;
这样修改程序应该没错误吧?
至少在电脑上运行时结果与修改前是一样的。但是修改之后的代码提交到oj平台是错的,修改前的却正确的,最终结果一样,一对一错。而那段代码只不过是交换一下值,至于哪个先交换我觉得没什么影响。
求指点修改后那段代码放到整个程序中,应该没错吧?

解决方案

如果你实测的时候结果是相同的,提交之后除了问题,那就应该不是代码的问题,谁先交换没有区别,你仔细看看你提交的代码是不是正确代码。

解决方案二:

C语言中的选择排序
C语言选择排序
(c语言)选择排序法和冒泡排序法

解决方案三:

错了吧。看你的程序该交换 a[min]和a[j] 怎么成了和a[i]交换了?

  if(a[min]>a[j])
         min=j;
    tem=a[i];
    a[i]=a[min];
    a[min]=tem;
 }
时间: 2024-12-02 17:57:02

算法 选择排序-C语言关于选择排序法的问题的相关文章

C语言实现选择排序、冒泡排序和快速排序的代码示例_C 语言

选择和冒泡 #include<stdio.h> void maopao(int a[],int len){ int i,j,temp; for(i = 0;i < len - 1 ; i ++){//从第一个到倒数第二个 for (j = 0 ; j < len - 1 - i ; j ++)//排在后的是已经排序的 { if (a[j] > a[j + 1])//大的数换到后面去 { temp = a[j]; a[j] = a[j + 1]; a [j + 1] = tem

C++实现八个常用的排序算法:插入排序、冒泡排序、选择排序、希尔排序等_C 语言

本文实现了八个常用的排序算法:插入排序.冒泡排序.选择排序.希尔排序 .快速排序.归并排序.堆排序和LST基数排序 首先是算法实现文件Sort.h,代码如下: /* * 实现了八个常用的排序算法:插入排序.冒泡排序.选择排序.希尔排序 * 以及快速排序.归并排序.堆排序和LST基数排序 * @author gkh178 */ #include <iostream> template<class T> void swap_value(T &a, T &b) { T t

算法速成(二)七大经典排序之选择排序

今天说的是选择排序,包括"直接选择排序"和"堆排序". 话说上次"冒泡排序"被快 排虐了,而且"快排"赢得了内库的重用,众兄弟自然眼红,非要找快排一比高下. 这不今天 就来了两兄弟找快排算账. 1.直接选择排序: 先上图: 说实话,直接选择排序最类似于人的本能思想,比如把大小不一的玩具让三岁小毛孩对大小 排个序, 那小孩首先会在这么多玩具中找到最小的放在第一位,然后找到次小的放在第二位, 以此类推...... ,小 孩子多聪明

C语言实现选择排序、直接插入排序、冒泡排序的示例_C 语言

选择排序选择排序是一种简单直观的排序算法,其核心思想是:遍历数组,从未排序的序列中找到最小元素,将其放到已排序序列的末尾. 时间复杂度:O(n^2) 稳定性 :不稳定 /* * @brief selection sort */ void selection_sort(int a[], int n) { int i, j, min, tmp; for (i = 0; i < n - 1; ++i) { min = i; for (j = i+1; j < n; ++j) { if (a[j] &

C#的四种排序算法:冒泡排序、选择排序、插入排序和希尔排序

插入|排序|算法 本文介绍了C#的四种排序算法:冒泡排序.选择排序.插入排序和希尔排序 冒泡排序 using System: namespace BubbleSorter { public class BubbleSorter { public void Sort(int [] list) { int i,j,temp: bool done=false: j=1: while((j<list.Length)&&(!done)) { done=true: for(i=0:i<li

Go语言实现选择法排序实例_Golang

本文实例讲述了Go语言实现选择法排序的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package main import "fmt" func select_sort(a []int) {  len := len(a)  for i:=0; i < len-1; i++ {   k := i   j:= i + 1     for ; j < len; j++ {    if a[j] < a[k] { k = j }   }   if k

常用的C语言排序算法(两种)_C 语言

1. 要求输入10个整数,从大到小排序输出 输入:2 0 3 -4 8 9 5 1 7 6 输出:9 8 7 6 5 3 2 1 0 -4 解决方法:选择排序法 实现代码如下: #include <stdio.h> int main(int argc, const char * argv[]) { int num[10],i,j,k,l,temp; //用一个数组保存输入的数据 for(i=0;i<=9;i++) { scanf("%d",&num[i]);

JQuery实现带排序功能的权限选择实例

  本文实例讲述了JQuery实现带排序功能的权限选择.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 7

JQuery实现带排序功能的权限选择实例_jquery

本文实例讲述了JQuery实现带排序功能的权限选择.分享给大家供大家参考.具体实现方法如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">