日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

第三周实践项目8 以第一个元素为分界线,将所有小于它的元素移到该元素的前面,将所有大于它的元素移到该元素的后面。

發布時間:2025/4/16 编程问答 30 豆豆

設順序表有10個元素,其元素類型為整型。設計一個算法,以第一個元素為分界線,將所有小于它的元素移到該元素的前面,將所有大于它的元素移到該元素的后面。?
  設計出的算法是:

#include <stdio.h> #include <malloc.h> #define MaxSize 100 typedef int ElemType; typedef struct {ElemType data[MaxSize];int length; } SqList; void CreateList(SqList *&L, ElemType a[], int n) {int i;L=(SqList *)malloc(sizeof(SqList));for (i=0; i<n; i++)L->data[i]=a[i];L->length=n; } void DispList(SqList *L) {int i;for (i=0; i<L->length; i++)printf("%d ",L->data[i]);printf("\n"); } void move1(SqList *&L) //定義解決問題的算法 {int i=0,j=L->length-1;ElemType pivot=L->data[0];ElemType tmp;while (i<j){while (i<j && L->data[j]>pivot)j--;while (i<j && L->data[i]<=pivot)i++;if (i<j){tmp=L->data[i];L->data[i]=L->data[j];L->data[j]=tmp;}}tmp=L->data[0];L->data[0]=L->data[j];L->data[j]=tmp; } int main() //在main函數中調用,保證程序能運行,解決問題 {SqList *sq;ElemType x[10]= {3, 8, 2, 7, 1, 5, 3, 4, 6, 0};CreateList(sq, x, 10);DispList(sq);move1(sq);DispList(sq);return 0; }

總結

以上是生活随笔為你收集整理的第三周实践项目8 以第一个元素为分界线,将所有小于它的元素移到该元素的前面,将所有大于它的元素移到该元素的后面。的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。