2453 문제 D 링크 찾기 (선형 표)

4618 단어 경험 총화
문제 D: 링크 찾기 (선형 표) 시간 제한: 1 Sec 메모리 제한: 128 MB 제출: 39 해결: 35
제목 설명 선형 표 (a1, a2, a3,..., an) 에서 요소 가 점점 질서 있 게 증가 하고 순서대로 컴퓨터 에 저 장 됩 니 다.하나의 알고리즘 을 설계 해 야 합 니 다. (1) 표 에서 최소 시간 으로 x 의 요 소 를 찾 습 니 다.(2) 후계 요소 의 위치 와 교환 하 는 것 을 찾 으 면.(3) 표 에 삽입 하고 표 의 요 소 를 질서 있 게 하 는 것 을 찾 지 못 하면.
입력 입력: x = 3 입력 길이: 9 입력 데이터: 2 3 5 7 12 17 23 45
같은 요 소 를 출력 합 니 다: 3 교환 후의 링크 는 2, 5, 3, 7, 12, 17, 23, 45 입 니 다.
샘플 입력 4 9 2 3 5 7 12 17 23 45
샘플 출력 no 2 3 4 5 7 12 17 23 45
경험 총화 emmmmm, 제목 의 뜻 대로 하면 됩 니 다 ~ (•̀∀•́ )
정확 한 코드
#include <cstdio>
struct node
{
    int data;
    node * next;  
};

int main()
{
    int m,n;
    while(~scanf("%d",&m))
    {
        scanf("%d",&n);
        node * L=new node;
        L->next=NULL;
        node * p=L;
        for(int i=0;i<n;i++)
        {
            node * temp=new node;
            scanf("%d",&temp->data);
            temp->next=NULL;
            p->next=temp;
            p=p->next;
        }
        node * pre=L;
        p=L->next;
        while(p->data<m)
        {
            pre=p;
            p=p->next;
        }
        if(p->data==m)
        {
            printf("%d
"
,m); node * s=p->next; pre->next=s; p->next=s->next; s->next=p; } else { printf("no
"
); node * temp=new node; temp->data=m; temp->next=p; pre->next=temp; } p=L->next; while(p!=NULL) { printf("%d ",p->data); p=p->next; } printf("
"
); } return 0; }

좋은 웹페이지 즐겨찾기