zoukankan      html  css  js  c++  java
  • C语言 指针练习选择排序法

    #include <stdio.h>
    void print_result(float *,int);
    void Select_Sort(float *,int);

    int main()
    {
    int i;
    float array[10];
    float * pointer;
    printf("请输入10个数:\n");
    for(i=0;i<10;i++)
    {
    scanf("%f",&array[i]);
    }
    pointer=array;
    Select_Sort(pointer,10);
    print_result(pointer,10);


    return 0;
    }

    void print_result(float *p,int n)
    { //输出结果
    int k;
    for(k=0;k<n;k++)
    {
    printf("%g\t",*(p+k));
    }
    }

    void Select_Sort(float *pt,int n)
    {//全用指针的选择排序法
    int i,j,k;
    float tempnum;

    for(i=0;i<n;i++){
    k=i;
    for(j=i+1;j<n;j++)
    {
    if(*(pt+j)>* (pt+i))
    {
    k=j;
    }
    }
    tempnum=*(pt+i);
    * (pt+i)=* (pt+k);
    * (pt+k)=tempnum;
    }
    }

    配一个以前的图片和代码:

    ////===========================
    void SelectSort(int arr[],int n)
    {
    printf("\n选择排序法过程:\n");
    int i,j,k,l,t;
    for(i=0;i<n;i++)
    {
    k=i;
    for(j=i+1;j<n;j++)
    {
    if(arr[j]<arr[k])
    {
    k=j;
    }

    }
    if(k!=i)
    {
    t=arr[i];arr[i]=arr[k];arr[k]=t;
    }
    for( l=0;l<n;l++)
    {
    printf("%3c ",arr[l]);
    }

    printf("\n");
    }
    }



  • 相关阅读:
    BZOJ 3529 数表
    BZOJ 3832 Rally
    BZOJ 1086 王室联邦
    BZOJ 2738 矩阵乘法
    2656565
    小L的区间求和
    小L的直线
    Co-prime 杭电4135
    POJ 跳蚤
    B
  • 原文地址:https://www.cnblogs.com/ikodota/p/learn_pointer_select_sort.html
Copyright © 2011-2022 走看看