【数据结构】-线性表-顺序表 熟练度max=5用一个变量实现min和循环变量i的功能

int型数组长度小于9,存的数字也小于等于9,只能用另外一个变量i,求出顺序表中的最小值

TIPS:以前的做法是,i作为数组的循环变量扫一遍数组,再定义一个Min作为最小值变量存储。

Good idea:用i的个位存储min最小值,十位当做循环变量(此方法只适用于特定题型,因为数组长度和存储的数都是小于9的1位数长度)

#include<stdio.h>
#define maxsize 50
/*用i的个位存储最小值,i十位上的数当做循环变量找第N个数*/
void findmin(int L[],int &i)
{
     i=L[i/10];
     while(i/10<=9)
     {
         if(i%10>L[i/10])//更换个位
         {
             i=i-i%10;
             i=i+L[i/10];
         }
         i=i+10;//十位增加1 循环变量+1
     }
     i=i%10;
}
int main (void)
{
    int L[9]={4,2,3,1,5,6,7,8,9};
    int i;
    findmin(L,i);
    printf("%d\n",i);
    return 0;
}

相关文章

【啊哈!算法】算法3:最常用的排序——快速排序       ...
匿名组 这里可能用到几个不同的分组构造。通过括号内围绕的正...
选择排序:从数组的起始位置处开始,把第一个元素与数组中其...
public struct Pqitem { public int priority; ...
在编写正则表达式的时候,经常会向要向正则表达式添加数量型...
来自:http://blog.csdn.net/morewindows/article/details/6...