请写一算法,在顺序表中查找指定的数据,查找成功则将该记录放到顺序表的最前面,而把其他记录后退到有个位置

问一下大佬,伪代码怎么写在顺序表中查找指定的数据,查找成功则将该记录放到顺序表的最前面,而把其他记录后退到有个位置

先遍历搜索,找到后,用个变量记录改数据,然后将该数据前的所有数值向后移动一个位置,再将记录的数据写到数组的第一个位置

typedef struct _seqlist
{
    int data[1000];
    int len;
}seqlist;

seqlsit s;
void find(int n)
{
    for(int i=0;i<s.len;i++)
        if(s.data[i] == n)
        {
            for(int j=i;j>0;j--)
                s.data[j] = s.data[j-1];
            s.data[0] = n;
            break;
        }
}