回文章列表
作者insperation@kkcity.com.tw (), 信區: sources
標題求救selection的問題
時間KKCITY (Fri Dec 31 11:59:08 2004)
轉信站: GIBBS!news2.ncku!ccnews.ncku!news.ccns.ncku!news.mksh.phc!news.nsysu!ne
Origin: bbs.kkcity.com.tw

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int SSS(int L[])
{
    int curr=0,smallest,data,walker,i,last=5;

    srand(time(NULL));

   for(i=0;i<5;i++)
    {
        data = rand();
    L[i] = data;
    printf("[%d] is %d\n",i,L[i]);
    }

    while (curr < last)
    {
    smallest = curr;
        walker = curr+1;
    while (walker <= last)
        {
        if( L[walker] < L[smallest] )
        {
            smallest = walker;
        }
        walker = walker + 1;
        }

        data = L[curr];
        L[curr] = L[smallest];
        L[smallest] = data;
        curr = curr+1;
        printf("[%d] is %d\n",curr,data);
        /*printf("takes is %d\n",takes);*/
    }

}
int main()
{
   int L[5];
   clrscr();
  SSS(L);
  system("pause");
}

上面是我的程式碼...我的問題是
有時候成是再run十數值沒做到對換的動作
還有資料被覆蓋掉的情況
EX:
排好序因該是
              10,36,42,75,185...這時候跑出來的桔果
              有時候其中有幾個數字會被其他數值覆蓋掉


請指教...
--
┌─────KKCITY─────┐   線上音樂新震撼  
         bbs.kkcity.com.tw           ^_^ /  隨選隨播免等待  KKBOX  ^_^ / 
└──From:61.220.247.41      ──┘     http://www.kkbox.com.tw     
文章選讀←離開[主題上]主題下(k)上篇(j)下篇S/a搜尋 G串列 TAB精華 ↑↓捲 Pg/Space翻