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

前端之家收集整理的这篇文章主要介绍了【数据结构】-线性表-顺序表 熟练度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;
}

猜你在找的数据结构相关文章